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.

No comments:

Post a Comment