Shared Top Border

Enterprise Resource
Planning Portal

 

Advertise | Founder BLOG

ERPGenie.COM ABAP Tips and Tricks Database

THE ultimate
ERP website

 

Forums | Vote for us |

Google    Other Search Options

Login

Login to view more content!!!





Lost Password?
No account yet? Register

Registered Access

Poll

What area of ABAP are you interested in?
 
Home arrow Sample Code arrow BDC arrow BDC and Call Transaction
BDC and Call Transaction PDF Print E-mail
User Rating: / 1
PoorBest 
Written by Bence Toth   
Thursday, 25 January 2007

Program showing you the syntax of BDC and call transaction.

 

REPORT ZSYSTEM LINE-SIZE 255.
TABLES: T100.
* Batch-input data
DATA: BEGIN OF G_BDCDATA OCCURS 100.
        INCLUDE STRUCTURE BDCDATA.
DATA: END OF G_BDCDATA.

DATA: G_MESSAGE(200).

PERFORM FILL_BDCDATA.
CALL TRANSACTION 'FI01'  USING G_BDCDATA  MODE 'N'.
* of course it is nicer with a message itab, but this example
* should also demostrate the use of system variables.
SELECT SINGLE * FROM T100 WHERE
                SPRSL = 'E'
            AND ARBGB = SY-MSGID
            AND MSGNR = SY-MSGNO.
G_MESSAGE = T100-TEXT.

PERFORM REPLACE_PARAMETERS  USING     SY-MSGV1
                                      SY-MSGV2
                                      SY-MSGV3
                                      SY-MSGV4
                            CHANGING  G_MESSAGE.

WRITE: / 'System variables:'.
SKIP.
WRITE: / '        Sy-msgty:', SY-MSGTY.
WRITE: / '        Sy-msgid:', SY-MSGID.
WRITE: / '        Sy-msgno:', SY-MSGNO.
WRITE: / '        Sy-msgv1:', SY-MSGV1.
WRITE: / '        Sy-msgv2:', SY-MSGV2.
WRITE: / '        Sy-msgv3:', SY-MSGV3.
WRITE: / '        Sy-msgv4:', SY-MSGV4.
SKIP.
WRITE: / 'The transaction was called with a wrong country code.'.
WRITE: / 'The error message should be either that or that you have'.
WRITE: / '  no authorisation to execute the transaction'.
SKIP.
WRITE: / 'Message:'.
SKIP.
WRITE: / SY-MSGTY, G_MESSAGE.

*---------------------------------------------------------------------*
*       Build up the BDC-table                                        *
*---------------------------------------------------------------------*
FORM FILL_BDCDATA.
  REFRESH G_BDCDATA.

  PERFORM BDC_DYNPRO USING 'SAPMF02B' '0100'.
  PERFORM BDC_FIELD USING 'BNKA-BANKS' 'ZZZ'.
  PERFORM BDC_FIELD USING 'BDC_OKCODE' 'QQQQQ'.

ENDFORM.

*---------------------------------------------------------------------*
*       FORM BDC_DYNPRO                                               *
*---------------------------------------------------------------------*
*       Batchinput: Start new Dynpro                                  *
*---------------------------------------------------------------------*
FORM BDC_DYNPRO USING P_PROGRAM P_DYNPRO.
  CLEAR G_BDCDATA.
  G_BDCDATA-PROGRAM = P_PROGRAM.
  G_BDCDATA-DYNPRO = P_DYNPRO.
  G_BDCDATA-DYNBEGIN = 'X'.
  APPEND G_BDCDATA.
ENDFORM.                               " BDC_DYNPRO

*---------------------------------------------------------------------*
*       FORM BDC_FIELD                                                *
*---------------------------------------------------------------------*
*       Batchinput: Feld hinzufugen                                   *
*---------------------------------------------------------------------*
FORM BDC_FIELD USING P_FNAM P_FVAL.
  CLEAR G_BDCDATA.
  G_BDCDATA-FNAM = P_FNAM.
  G_BDCDATA-FVAL = P_FVAL.
  APPEND G_BDCDATA.
ENDFORM.                               " BDC_FIELD
*---------------------------------------------------------------------*
*       FORM REPLACE_PARAMETERS                                       *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  P_PAR_1                                                       *
*  -->  P_PAR_2                                                       *
*  -->  P_PAR_3                                                       *
*  -->  P_PAR_4                                                       *
*  -->  P_MESSAGE                                                     *
*---------------------------------------------------------------------*
FORM REPLACE_PARAMETERS  USING    P_PAR_1
                                  P_PAR_2
                                  P_PAR_3
                                  P_PAR_4
                         CHANGING P_MESSAGE.

* erst mal pruefen, ob numerierte Parameter verwendet wurden
  DO.
    REPLACE '&1' WITH P_PAR_1 INTO P_MESSAGE.
    IF SY-SUBRC <> 0.
      EXIT.
    ENDIF.
  ENDDO.
  DO.
    REPLACE '&2' WITH P_PAR_2 INTO P_MESSAGE.
    IF SY-SUBRC <> 0.
      EXIT.
    ENDIF.
  ENDDO.
  DO.
    REPLACE '&3' WITH P_PAR_3 INTO P_MESSAGE.
    IF SY-SUBRC <> 0.
      EXIT.
    ENDIF.
  ENDDO.
  DO.
    REPLACE '&4' WITH P_PAR_4 INTO P_MESSAGE.
    IF SY-SUBRC <> 0.
      EXIT.
    ENDIF.
  ENDDO.
* falls keine numerierten Parameter vorh., ersetzen wie gehabt
  REPLACE '&' WITH P_PAR_1 INTO P_MESSAGE.
  CONDENSE P_MESSAGE.
  IF SY-SUBRC EQ 0.
    REPLACE '&' WITH P_PAR_2 INTO P_MESSAGE.
    CONDENSE P_MESSAGE.
    IF SY-SUBRC EQ 0.
      REPLACE '&' WITH P_PAR_3 INTO P_MESSAGE.
      CONDENSE P_MESSAGE.
      IF SY-SUBRC EQ 0.
        REPLACE '&' WITH P_PAR_4 INTO P_MESSAGE.
        CONDENSE P_MESSAGE.
      ENDIF.
    ENDIF.
  ENDIF.

ENDFORM.                               "replace_parameters


 
< Prev

Google Search

Statistics

Contribution Activity
Utilities: 38
Tips and Tricks: 332
Sample Code: 164
Total Contributions: 548

Member Activity
Members: 6081 since 2/1/2007!
New: 7 since yesterday!
Visitors: 964871
We have 5 guests online

Newest Members

Welcome our newest members:

Google Ads

Shared Bottom Border

Contact Us | Polls | Add URL | Contribute | Privacy | Terms | Feedback

Discussion Forum | BLOG | Consultants: Post your resume | Companies: Advertise on ERPGenie.COM | Post Job
Financials Consultant | Consultant Review | Gallia Consulting | Supply Chain Project | SAP Financials Forum
GenieHoldings.COM, Inc. | Genie Press | WorkflowGenie | ESAGenie | ERPTopSites | ABAP Tips and Tricks | SAP Solutions Database

EDIGenie | Searching Survivor