Wednesday, August 29, 2018

Previous Month Date and Get the Start and End Date

"PASSING PREVIOUS MONTH DATE AND GET THE START AND END DATE"
CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'
  EXPORTING
    IV_DATE                  = V_DATE
 IMPORTING
   EV_MONTH_BEGIN_DATE       = V_START_DATE
   EV_MONTH_END_DATE         = V_END_DATE.
"END OF PASSING PREVIOUS MONTH DATE AND GET THE START AND END DATE"

Thursday, July 26, 2018

Identify the follow on documents from a given document

https://blogs.sap.com/2013/04/03/identify-the-follow-on-documents-from-a-given-document/

Wednesday, April 11, 2018

Configuration of Automatic Clearing of Open Items by F.13

SAP transaction OB74 for customizing according to your requirement.

Monday, April 9, 2018

BDC for Customer to GL Postings

REPORT ZF04_KUNNR_TO_GL NO STANDARD PAGE HEADING LINE-SIZE 255.

*TYPES DECLARATION............................................*
DATA: W_FILENAME TYPE STRING.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-500.
PARAMETERS: P_FILENM LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK B1.

 TYPES : BEGIN OF ST,

          BLDAT(10),
          BLART(2),
          BURKS(4),
          BUDAT(10),
          WAERS(5),
          NEWBS(2),
          NEWKO(17),
          WRBTR(13),
          BUPLA(4),
          SECCO(4),
          GSBER(4),
          PRCTR(10),
          ZFBDT(10),
          ZUONR(18),
          SGTXT(50),
          NEWBS2(2),
          NEWKO2(17),
          GSBER2(4),
          PRCTR2(10),
          WRBTR2(13),
          BUPLA2(4),
          SECCO2(4),
          ZFBDT2(10),
          ZUONR2(18),
          SGTXT2(50),

END OF ST.

*INTERNAL TABLE AND WORKAREA DECLARATION*

 DATA : IT TYPE TABLE OF ST.
 DATA : WA TYPE ST.

INCLUDE BDCRECX1.

START-OF-SELECTION.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILENM.

  CALL FUNCTION 'WS_FILENAME_GET'
       EXPORTING
            MASK             = ',*.*,*.*.'
            MODE             = '0'
            TITLE            = 'GET FILE NAME'
       IMPORTING
            FILENAME         = P_FILENM
       EXCEPTIONS
            INV_WINSYS       = 1
            NO_BATCH         = 2
            SELECTION_CANCEL = 3
            SELECTION_ERROR  = 4
            OTHERS           = 5.

** START OF CHANGE DCS05052003
START-OF-SELECTION.
 W_FILENAME = P_FILENM.
CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
**   FILENAME                    = 'C:\BDC_XLS_ASSIGN.TXT'
   FILENAME                      = W_FILENAME
   FILETYPE                      = 'ASC'
   HAS_FIELD_SEPARATOR           = 'X'
  TABLES
    DATA_TAB                     = IT
 EXCEPTIONS
   FILE_OPEN_ERROR               = 1
   FILE_READ_ERROR               = 2
   NO_BATCH                      = 3
   GUI_REFUSE_FILETRANSFER       = 4
   INVALID_TYPE                  = 5
   NO_AUTHORITY                  = 6
   UNKNOWN_ERROR                 = 7
   BAD_DATA_FORMAT               = 8
   HEADER_NOT_ALLOWED            = 9
   SEPARATOR_NOT_ALLOWED         = 10
   HEADER_TOO_LONG               = 11
   UNKNOWN_DP_ERROR              = 12
   ACCESS_DENIED                 = 13
   DP_OUT_OF_MEMORY              = 14
   DISK_FULL                     = 15
   DP_TIMEOUT                    = 16
   OTHERS                        = 17.

          .
IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO.
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

PERFORM OPEN_GROUP.

LOOP AT IT INTO WA.

PERFORM BDC_DYNPRO      USING 'SAPMF05A' '0122'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'RF05A-NEWKO'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '/00'.
PERFORM BDC_FIELD       USING 'BKPF-BLDAT'
                              WA-BLDAT. "'24.06.2013'.
PERFORM BDC_FIELD       USING 'BKPF-BLART'
                              WA-BLART. "'KA'.
PERFORM BDC_FIELD       USING 'BKPF-BUKRS'
                              WA-BURKS. "'RCFP'.
PERFORM BDC_FIELD       USING 'BKPF-BUDAT'
                              WA-BUDAT. "'24.06.2013'.
PERFORM BDC_FIELD       USING 'BKPF-WAERS'
                              WA-WAERS. "'INR'.
PERFORM BDC_FIELD       USING 'FS006-DOCID'
                              '*'.
PERFORM BDC_FIELD       USING 'RF05A-NEWBS'
                              WA-NEWBS. "'39'.
PERFORM BDC_FIELD       USING 'RF05A-NEWKO'
                              WA-NEWKO. "'E113363'.

"1st Line of Customer
PERFORM BDC_DYNPRO      USING 'SAPMF05A' '0301'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'RF05A-NEWUM'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '/00'.
PERFORM BDC_FIELD       USING 'BSEG-WRBTR'
                              WA-WRBTR."'100'.
PERFORM BDC_FIELD       USING 'BSEG-BUPLA'
                              WA-BUPLA."'TROM'.
PERFORM BDC_FIELD       USING 'BSEG-SECCO'
                              WA-SECCO."'TROM'.
PERFORM BDC_FIELD       USING 'BSEG-GSBER'
                              WA-GSBER.
PERFORM BDC_FIELD       USING 'BSEG-PRCTR'
                              WA-PRCTR.
PERFORM BDC_FIELD       USING 'BSEG-ZUONR'
                              WA-ZUONR."'TESTING FOR PF'.'JASHAN1234'.
PERFORM BDC_FIELD       USING 'BSEG-SGTXT'
                              WA-SGTXT."'TESTING FOR PF'.'JASHAN1234'.
PERFORM BDC_FIELD       USING 'RF05A-NEWBS'
                              WA-NEWBS2. "'40'.'39'.
PERFORM BDC_FIELD       USING 'RF05A-NEWKO'
                              WA-NEWKO2. "'860101'.'501500'.

PERFORM BDC_DYNPRO      USING 'SAPMF05A' '0300'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'RF05A-NEWUM'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '/00'.
PERFORM BDC_FIELD       USING 'BSEG-WRBTR'
                              WA-WRBTR2."'100'.
PERFORM BDC_FIELD       USING 'BSEG-BUPLA'
                              WA-BUPLA2."'TROM'.
PERFORM BDC_FIELD       USING 'BSEG-SECCO'
                              WA-SECCO2."'TROM'.
PERFORM BDC_FIELD       USING 'BSEG-GSBER'
                              WA-GSBER2.
PERFORM BDC_FIELD       USING 'BSEG-PRCTR'
                              WA-PRCTR2.
PERFORM BDC_FIELD       USING 'BSEG-ZUONR'
                              WA-ZUONR2."'TESTING FOR PF'.'JASHAN1234'.
PERFORM BDC_FIELD       USING 'BSEG-SGTXT'
                              WA-SGTXT2."'TESTING FOR PF'.'JASHAN1234'.

PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=BU'.
PERFORM BDC_TRANSACTION USING 'F-04'.

REFRESH BDCDATA.
ENDLOOP.

PERFORM CLOSE_GROUP.

Thursday, April 5, 2018

BDC for Customer to Customer Posting

REPORT ZF51_KUNNR_TO_KUNNR NO STANDARD PAGE HEADING LINE-SIZE 255.

*TYPES DECLARATION............................................*
DATA: W_FILENAME TYPE STRING.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-500.
PARAMETERS: P_FILENM LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK B1.

TYPES : BEGIN OF ST,
          BLDAT(10),
          BLART(2),
          BURKS(4),
          BUDAT(10),
          WAERS(5),
          XBLNR(16),
          BKTXT(25),
          NEWBS(2),
          NEWKO(17),
          WRBTR(13),
          BUPLA(4),
          SECCO(4),
          GSBER(4),
          PRCTR(10),
          ZFBDT(10),
          KIDNO(30),
          ZUONR(18),
          SGTXT(50),
          NEWBS2(2),
          NEWKO2(17),
          GSBER2(4),
          PRCTR2(10),
          WRBTR2(13),
          BUPLA2(4),
          SECCO2(4),
          ZFBDT2(10),
          KIDNO2(50),
          ZUONR2(18),
          SGTXT2(50),
END OF ST.

*INTERNAL TABLE AND WORKAREA DECLARATION*

 DATA : IT TYPE TABLE OF ST.
 DATA : WA TYPE ST.

INCLUDE BDCRECX1.

START-OF-SELECTION.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILENM.

  CALL FUNCTION 'WS_FILENAME_GET'
       EXPORTING
            MASK             = ',*.*,*.*.'
            MODE             = '0'
            TITLE            = 'GET FILE NAME'
       IMPORTING
            FILENAME         = P_FILENM
       EXCEPTIONS
            INV_WINSYS       = 1
            NO_BATCH         = 2
            SELECTION_CANCEL = 3
            SELECTION_ERROR  = 4
            OTHERS           = 5.

** START OF CHANGE DCS05052003
START-OF-SELECTION.
 W_FILENAME = P_FILENM.
CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
**   FILENAME                    = 'C:\BDC_XLS_ASSIGN.TXT'
   FILENAME                      = W_FILENAME
   FILETYPE                      = 'ASC'
   HAS_FIELD_SEPARATOR           = 'X'
  TABLES
    DATA_TAB                     = IT
 EXCEPTIONS
   FILE_OPEN_ERROR               = 1
   FILE_READ_ERROR               = 2
   NO_BATCH                      = 3
   GUI_REFUSE_FILETRANSFER       = 4
   INVALID_TYPE                  = 5
   NO_AUTHORITY                  = 6
   UNKNOWN_ERROR                 = 7
   BAD_DATA_FORMAT               = 8
   HEADER_NOT_ALLOWED            = 9
   SEPARATOR_NOT_ALLOWED         = 10
   HEADER_TOO_LONG               = 11
   UNKNOWN_DP_ERROR              = 12
   ACCESS_DENIED                 = 13
   DP_OUT_OF_MEMORY              = 14
   DISK_FULL                     = 15
   DP_TIMEOUT                    = 16
   OTHERS                        = 17.

          .
IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO.
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

PERFORM OPEN_GROUP.

LOOP AT IT INTO WA.

PERFORM BDC_DYNPRO      USING 'SAPMF05A' '0122'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'RF05A-NEWKO'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '/00'.
PERFORM BDC_FIELD       USING 'BKPF-BLDAT'
                              WA-BLDAT. "'24.06.2013'.
PERFORM BDC_FIELD       USING 'BKPF-BLART'
                              WA-BLART. "'KA'.
PERFORM BDC_FIELD       USING 'BKPF-BUKRS'
                              WA-BURKS. "'RCFP'.
PERFORM BDC_FIELD       USING 'BKPF-BUDAT'
                              WA-BUDAT. "'24.06.2013'.
PERFORM BDC_FIELD       USING 'BKPF-WAERS'
                              WA-WAERS. "'INR'.
PERFORM BDC_FIELD       USING 'BKPF-XBLNR'
                               WA-XBLNR. "'REFERENCE'.
PERFORM BDC_FIELD       USING 'BKPF-BKTXT'
                               WA-BKTXT. "'DOCUMENT TEXY'.
PERFORM BDC_FIELD       USING 'FS006-DOCID'
                              '*'.
PERFORM BDC_FIELD       USING 'RF05A-NEWBS'
                              WA-NEWBS. "'39'.
PERFORM BDC_FIELD       USING 'RF05A-NEWKO'
                              WA-NEWKO. "'E113363'.

"1st Line of Customer
PERFORM BDC_DYNPRO      USING 'SAPMF05A' '0301'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'RF05A-NEWUM'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '/00'.
PERFORM BDC_FIELD       USING 'BSEG-WRBTR'
                              WA-WRBTR."'100'.
PERFORM BDC_FIELD       USING 'BSEG-BUPLA'
                              WA-BUPLA."'TROM'.
PERFORM BDC_FIELD       USING 'BSEG-SECCO'
                              WA-SECCO."'TROM'.
PERFORM BDC_FIELD       USING 'BSEG-KIDNO'
                              WA-KIDNO."'PAYMENT REFERENCE'.'JASHAN1234'.
PERFORM BDC_FIELD       USING 'BSEG-GSBER'
                              WA-GSBER.
PERFORM BDC_FIELD       USING 'BSEG-PRCTR'
                              WA-PRCTR.
PERFORM BDC_FIELD       USING 'BSEG-ZUONR'
                              WA-ZUONR."'TESTING FOR PF'.'JASHAN1234'.
PERFORM BDC_FIELD       USING 'BSEG-SGTXT'
                              WA-SGTXT."'TESTING FOR PF'.'JASHAN1234'.
PERFORM BDC_FIELD       USING 'RF05A-NEWBS'
                              WA-NEWBS2. "'40'.'39'.
PERFORM BDC_FIELD       USING 'RF05A-NEWKO'
                              WA-NEWKO2. "'860101'.'501500'.

"2nd Line of Customer
PERFORM BDC_DYNPRO      USING 'SAPMF05A' '0301'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'RF05A-NEWUM'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '/00'.
PERFORM BDC_FIELD       USING 'BSEG-WRBTR'
                              WA-WRBTR2."'100'.
PERFORM BDC_FIELD       USING 'BSEG-BUPLA'
                              WA-BUPLA2."'TROM'.
PERFORM BDC_FIELD       USING 'BSEG-KIDNO'
                              WA-KIDNO2."'PAYMENT REFERENCE'.'JASHAN1234'.
PERFORM BDC_FIELD       USING 'BSEG-GSBER'
                              WA-GSBER2.
PERFORM BDC_FIELD       USING 'BSEG-PRCTR'
                              WA-PRCTR2.
PERFORM BDC_FIELD       USING 'BSEG-ZUONR'
                              WA-ZUONR2."'TESTING FOR PF'.'JASHAN1234'.
PERFORM BDC_FIELD       USING 'BSEG-SGTXT'
                              WA-SGTXT2."'TESTING FOR PF'.'JASHAN1234'.

"Calling Posting
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=BU'.
PERFORM BDC_TRANSACTION USING 'F-51'.

REFRESH BDCDATA.
ENDLOOP.

PERFORM CLOSE_GROUP.

Saturday, March 17, 2018

ODN Number Range Creation at Start of Year

*&---------------------------------------------------------------------*
*& REPORT  ZNUMBER_RANGE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZNUMBER_RANGE.
TABLES: NRIV.

SELECTION-SCREEN:BEGIN OF BLOCK F1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_OBJECT LIKE NRIV-OBJECT.
SELECTION-SCREEN:END OF BLOCK F1.

SELECTION-SCREEN:BEGIN OF BLOCK F4 WITH FRAME TITLE TEXT-004.
PARAMETERS: P_COCD LIKE NRIV-SUBOBJECT.
SELECTION-SCREEN:END OF BLOCK F4.

SELECTION-SCREEN:BEGIN OF BLOCK F2 WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS: S_NRRANG FOR NRIV-NRRANGENR.
SELECTION-SCREEN:END OF BLOCK F2.

SELECTION-SCREEN:BEGIN OF BLOCK F3 WITH FRAME TITLE TEXT-003.
PARAMETERS: P_TOYEAR LIKE NRIV-TOYEAR.
SELECTION-SCREEN:END OF BLOCK F3.

DATA I_NRIV TYPE STANDARD TABLE OF NRIV WITH HEADER LINE.

START-OF-SELECTION.

SELECT * FROM NRIV INTO TABLE I_NRIV WHERE OBJECT = P_OBJECT AND NRRANGENR IN S_NRRANG AND TOYEAR = P_TOYEAR AND SUBOBJECT = P_COCD .
P_TOYEAR = P_TOYEAR + 1 .

LOOP AT I_NRIV.
CALL FUNCTION 'G_CATT_INSERT_NUMBER_RANGE'
EXPORTING
  EXTERNIND = I_NRIV-EXTERNIND
FROMNUMBER = I_NRIV-FROMNUMBER
NNRANGENR = I_NRIV-NRRANGENR
NRLEVEL = '00000000000000000000'
OBJECT = P_OBJECT
PROCIND = 'Y'
SUBOBJECT =  P_COCD
TONUMBER = I_NRIV-TONUMBER
TOYEAR = P_TOYEAR

EXCEPTIONS
  NO_CHANGES_MADE = 1
  OBJECT_NOT_INITIALIZED = 2
  OTHERS.
   WRITE S_NRRANG.
   WRITE 'RECORD ADDED'.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
* WRITE 'ERROR'.
 ENDIF.
  ENDLOOP.

ODN Configuration Creation at Start of Year

*&---------------------------------------------------------------------*
*& Report  ZFI_ODN_CONFIG
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZFI_ODN_CONFIG.
TABLES: J_1IG_OFNUM.

SELECTION-SCREEN:BEGIN OF BLOCK F1 WITH FRAME TITLE TEXT-001.
PARAMETERS: V_BUKRS TYPE BUKRS.
SELECTION-SCREEN:END OF BLOCK F1.


SELECTION-SCREEN:BEGIN OF BLOCK F2 WITH FRAME TITLE TEXT-002.
PARAMETERS: V_DOCCLS TYPE DOCCLS.
SELECTION-SCREEN:END OF BLOCK F2.

SELECTION-SCREEN:BEGIN OF BLOCK F3 WITH FRAME TITLE TEXT-003.
PARAMETERS: V_FDATE TYPE BUDAT.
SELECTION-SCREEN:END OF BLOCK F3.

SELECTION-SCREEN:BEGIN OF BLOCK F4 WITH FRAME TITLE TEXT-004.
PARAMETERS: V_TDATE TYPE BUDAT.
SELECTION-SCREEN:END OF BLOCK F4.

DATA I_NRIV TYPE STANDARD TABLE OF NRIV WITH HEADER LINE.

START-OF-SELECTION.

DATA: ITAB TYPE STANDARD TABLE OF J_1IG_OFNUM.
DATA: WA LIKE LINE OF ITAB.

SELECT * FROM J_1IG_OFNUM INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE BUKRS = V_BUKRS AND DOCCLASS = V_DOCCLS.

LOOP AT ITAB INTO WA.
  "CHANGING THE LAST DATE TO INITIAL"
  WA-VALIDFROM = V_FDATE.
  WA-VALIDTO = V_TDATE.
  WA-LASTDATE = '00000000'.
  "END OF CHANGING THE LAST DATE TO INITIAL"
  MODIFY ITAB FROM WA.
ENDLOOP.

LOOP AT ITAB INTO WA.
  INSERT INTO J_1IG_OFNUM VALUES WA.
  WRITE WA.
  NEW-LINE.
ENDLOOP.