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............................................*
DATAW_FILENAME TYPE STRING.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-500.
PARAMETERSP_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............................................*
DATAW_FILENAME TYPE STRING.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-500.
PARAMETERSP_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.
TABLESNRIV.

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

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

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

SELECTION-SCREEN:BEGIN OF BLOCK F3 WITH FRAME TITLE TEXT-003.
PARAMETERSP_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 + .

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.
TABLESJ_1IG_OFNUM.

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


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

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

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

DATA I_NRIV TYPE STANDARD TABLE OF NRIV WITH HEADER LINE.

START-OF-SELECTION.

DATAITAB TYPE STANDARD TABLE OF J_1IG_OFNUM.
DATAWA 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.