Execute InfoPackage in ABAP program and Pass Values at runtime

Hi All,
   I want to execute an InfoPackage in an ABAP program. I am looking to execute the Infopackage in a loop passing in different values to 0FISCPER under Data Selection tab in the InfoPackage at run time. Please help. I would appreciate if someone has code.
Thanks.
Regards,
bw_newbie

you can do the same thing with routine in data selection. why do you want to do it with ABAP Program? any specific Reason?
You can achive this using BAPI_IPAK_START and BAPI_IPAK_CHANGE FM in ABAP Program.
You need to pass Fiscal Period values in BAPI_IPAK_CHANGE FM.
Nagesh Ganisetti.
Assign points if it helps.

Similar Messages

  • File to File and then Call ABAP Program and pass file name and location

    Hi
    I am new to PI and am working on the following requirement and some guidance would help:
    A file is picked up from a third party server using FTP and is put in an SAP server in a specific location. After I have put in the file successfully, I need to call an ABAP program and provide the name and location of the file for further processing by the ABAP program.
    Although I am familiar with File to File, how can I add in the ABAP call with the filename and location? I do not want to pass any other information to the ABAP program.
    Thanks for your help.
    Manoj

    I think I get what you're saying. This additional file would have the file and the path in it's content. I would then use this as a source (FCC?) for Mapping with the RFC. Right?
    Exactly and yes, FCC would be helpful
    Would you have a sample OS script to do the above?
    Actually it depends on the operating system on which your PI system is standing. For instance for Windows, you might try with the following as a start point (but I was not able to test it, so I can't guarantee it will do the job):
    cmd.exe /C "%f %F > C:\target_directory\%DATE%_%TIME%.txt"
    In case you needed more, try googling on "windows batch script" or similar.
    Hope this helps,
    Greg

  • Execute webdynpro from abap program and return to the caller program

    Guys,
    I have a question here.
    I know there is a way to call an abap webdynpro application from normal abap program by either using a class method, or use a function module WDY_EXECUTE_IN_PLACE by providing
    the webdynpro application or using CALL TRANSACTION statement.
    But, is there anyways that we can call the webdynpro application from abap program by supplying data to the webdynpro and display to the user from the portal, and then
    once the user do some manipulation on the data, can we transfer back the data to the caller abap program?

    hey ,
    you can pack any web-dynpro program in tranasaction code and run it from R/3 and not via portal  :
    search in " SAPTECHNICAL" how to do so  - for some reason i cant post a link here
    than you can use call transaction .
    regards
    ASA

  • Differences between ABAP Programming and Dialog Programming

    Can any one explain me the Differences between ABAP Programming and Dialog Programming

    Hi,
    ABAP PROGRAMING:
    An ABAP program consists of individual ABAP statements. Each statement begins with a keyword and ends with a period.
    PROGRAM FIRST_PROGRAM.
    WRITE 'My First Program'.
    This example contains two statements, one on each line. The keywords are PROGRAM and WRITE. The program displays a list on the screen. In this case, the list consists of the line "My First Program".
    The keyword determines the category of the statement. For an overview of the different categories, refer to ABAP Statements.
    You can execute different parts of programs conditionally or in loops using the standard keywords IF, CASE, DO, and WHILE.
    When controlling the flow of an ABAP program, remember that the structure of the program is made up of processing blocks that cannot be nested. This section describes how to control the flow of a program within a processing block. The keywords covered here do not allow you to branch outside the processing block in which you use them. You can regard this as internal control of an ABAP program, as opposed to the external control provided by events in the ABAP runtime environment.
    To control the internal flow of a processing block, you can use control structures to divide it up into smaller statement blocks according to the principles of structured programming.
    DIALOG PROGRAMING:
    This is a classical programming method that is based on dynpros and dialog transactions.
    Classic Application Programming
    Separating the application layer from the presentation layer means that when you run an ABAP application program requiring user interaction, control of the program is continually passed backwards and forwards between these layers. While a screen is ready for input, the corresponding SAP GUI of the presentation layer is active. During this time, the application layer is not active for the application program. Therefore, the ABAP application servers are free for other tasks. Once the user has entered data on the screen, program control passes back to the application layer. Now, the presentation layer is inactive. The SAP GUI is still visible to the user during this time, and it is still displaying the screen, but it cannot accept user input. The SAP GUI does not become active again until the application program has called a new screen and sent it to the presentation server.
    Consequently, if you use this method, you need to divide dialog programs into single dialog steps, with each of these steps comprising the programming logic between two successive screens.
    REGARDS,
    VASAVI.
    KINDLY REWARD IF HELPFUL.

  • I need hr abap programs and syntax?

    i need hr abap programs and syntax?

    Check with below one example :
    REPORT ZPETROL_EXCLUDE .
    TABLES SSCRFIELDS.
    SELECTION-SCREEN BEGIN OF SCREEN 100.
    SELECTION-SCREEN SKIP 9.
    PARAMETERS NUMBER(200) TYPE C.
    SELECTION-SCREEN SKIP 2.
    SELECTION-SCREEN:
    BEGIN OF LINE,
    PUSHBUTTON 2(10) TEXT-001 USER-COMMAND PROC,
    END OF LINE.
    SELECTION-SCREEN END OF SCREEN 100.
    CALL SCREEN 100.
    AT SELECTION-SCREEN.
    CASE SSCRFIELDS.
    WHEN 'PROC'.
    SET PARAMETER ID: 'NUM' FIELD NUMBER.
    CALL TRANSACTION 'ZP_PALLOWANCE'.
    LEAVE TO SCREEN 0.
    ENDCASE.
    SECOND PRG
    REPORT ZPR_PETROL_ALLOWANCE NO STANDARD PAGE
    HEADING .
    *-- Infotypes
    INFOTYPES : 0000, "Actions
    0002, "Personal Data
    0008. "Basic pay details
    *-- Tables
    TABLES : PERNR, "Standard Selections for HR Master Data Reporting
    PC207, "Payroll Results: Results Table
    PCL1, "HR Cluster 1
    PCL2, "HR Cluster 2
    T510, "Pay scales
    T549A, "Payroll areas
    T549Q, "Payroll Periods
    PA0002. "Personal details
    *-- Internal Tables
    *-- Internal Table Declaration For Holding The Data
    DATA: BEGIN OF INT_PETROL OCCURS 0,
    PERNR LIKE PA0008-PERNR, "Personnel Number
    TRFST LIKE PA0008-TRFST, "Pay Scale Level
    NAME(40), "Name of Employee
    PALLOWANCE TYPE P DECIMALS 2, "Petrol Allowance Amount
    END OF INT_PETROL.
    DATA: BEGIN OF PA0015_DATA OCCURS 0,
    PERNR LIKE PA0015-PERNR,
    BETRG LIKE PA0015-BETRG,
    END OF PA0015_DATA.
    DATA:BEGIN OF INT_PETROL2 OCCURS 0,
    PERNR LIKE PA0008-PERNR, "Personnel Number
    VORNA LIKE PA0002-VORNA, "First Name
    NACHN LIKE PA0002-NACHN, "Last Name
    TRFST LIKE PA0008-TRFST, "Pay Scale Level
    NAME(40), "Name of Employee
    PALLOWANCE TYPE P DECIMALS 2, "Petrol Allowance Amount
    END OF INT_PETROL2.
    DATA : TITLE TYPE LVC_TITLE.
    DATA: BEGIN OF PER_NO OCCURS 0,
    PERNR LIKE PA0008-PERNR,
    TRFST LIKE PA0008-TRFST,
    END OF PER_NO.
    DATA: BEGIN OF MSG OCCURS 0,
    MSG1(100) TYPE C,
    END OF MSG.
    DATA: FLAG TYPE I VALUE '0',
    DIS_FLAG TYPE I VALUE '0'.
    DATA: INT_PETROL3 LIKE STANDARD TABLE OF INT_PETROL2 INITIAL SIZE 0
    WITH HEADER LINE.
    DATA: INT_PETROL1 LIKE STANDARD TABLE OF INT_PETROL INITIAL SIZE 0 WITH
    HEADER LINE.
    DATA: WA_PET_ALLOWANCE TYPE ZBPETROL_ALL. "WORKAREA FOR INSERTING
    VALUES.
    *DATA: P_LGART1 LIKE T512T-LGART VALUE '0010'. "CHANGE WAGE TYPE HERE
    DATA: P_LGART1 LIKE T512T-LGART VALUE '0077'. "CHANGE WAGE TYPE HERE
    DATA: BEGIN OF INT_0015 OCCURS 0,
    PERNR(038),
    BEGDA(010),
    BETRG(018),
    END OF INT_0015.
    *-- Internal Table To Store Error Records.
    DATA: E_INT_0015 LIKE INT_0015 OCCURS 0 WITH HEADER LINE.
    *-- Batch Input Data of Single Transaction
    DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    *-- Internal Table For Export and Import Payroll Results
    DATA: INT_RGDIR LIKE PC261 OCCURS 0 WITH HEADER LINE,
    LGTXT LIKE T512T-LGTXT.
    DATA: BEGIN OF EMP_NO OCCURS 0,
    PERNR(4) TYPE C,
    END OF EMP_NO.
    DATA: BEGIN OF EMP_NO1 OCCURS 0,
    PERNR TYPE I,
    END OF EMP_NO1.
    DATA EMPNO LIKE STANDARD TABLE OF EMP_NO INITIAL SIZE 0.
    DATA EMPNO1 LIKE STANDARD TABLE OF EMP_NO1 INITIAL SIZE 0 WITH HEADER
    LINE.
    DATA LEN1 TYPE I.
    DATA: ERR LIKE MESSAGE.
    DATA TEMP_NUM(200) TYPE C.
    *-- Includes
    *-- International Include
    INCLUDE RPC2CD09. "Cluster CD data definition
    INCLUDE RPC2CA00. "Cluster CA Data-Definition
    INCLUDE RPPPXD00. "Data Definition buffer PCL1/PCL2 Buffer INCLUDE RPPPXD10.
    "Common part buffer PCL1/PCL2 INCLUDE RPPPXM00. "Buffer Handling routine
    *-- Country Specific Include
    INCLUDE PC2RXIN0. "Cluster IN data definition
    INCLUDE RPC2RX09.
    *-- ALV Declaration
    TYPE-POOLS : SLIS.
    DATA: INT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
    INT_EVENTS TYPE SLIS_T_EVENT,
    INT_LAYOUT TYPE SLIS_LAYOUT_ALV,
    WS_EVENTS TYPE SLIS_ALV_EVENT,
    WS_REPID LIKE SY-REPID.
    *-- Initialization
    INITIALIZATION.
    WS_REPID = SY-REPID.
    *-- At Selection-Screen
    START-OF-SELECTION.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(30) TEXT-002.
    SELECTION-SCREEN POSITION 33.
    PARAMETERS: P_RATE TYPE P DECIMALS 2.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-003.
    SELECTION-SCREEN BEGIN OF BLOCK B3.
    PARAMETERS: P_UPLOAD AS CHECKBOX,
    P_FG RADIOBUTTON GROUP G1,
    P_BG RADIOBUTTON GROUP G1.
    SELECTION-SCREEN END OF BLOCK B3.
    SELECTION-SCREEN BEGIN OF BLOCK B4.
    PARAMETERS: P_DI AS CHECKBOX.
    SELECTION-SCREEN END OF BLOCK B4.
    SELECTION-SCREEN END OF BLOCK B2.
    AT SELECTION-SCREEN.
    *-- Wate Type Text
    SELECT SINGLE LGTXT INTO LGTXT FROM T512T WHERE SPRSL = 'E' AND
    MOLGA = '40' AND LGART = P_LGART1 .
    *-- Data Retrieval From Logical Database PNP
    GET PERNR.
    PROVIDE PERNR FROM P0000 VORNA NACHN FROM P0002 BETWEEN PN-BEGDA AND
    PN-ENDDA.
    INT_PETROL1-PERNR = P0000-PERNR.
    CONCATENATE P0002-VORNA P0002-NACHN INTO INT_PETROL1-NAME SEPARATED
    BY SPACE.
    ENDPROVIDE.
    *-- Clear Data
    CLEAR: RGDIR, INT_RGDIR.
    REFRESH: RGDIR, INT_RGDIR.
    *-- Read All The Payroll Runs For An Employee
    CD-KEY-PERNR = PERNR-PERNR.
    RP-IMP-C2-CU.
    CHECK RP-IMP-CD-SUBRC EQ 0.
    *-- Clear Data
    REFRESH: RT.
    Read IN Cluster.
    LOOP AT RGDIR WHERE FPBEG >= PN-BEGDA AND FPEND <= PN-ENDDA.
    MOVE-CORRESPONDING RGDIR TO INT_RGDIR.
    APPEND INT_RGDIR.
    CLEAR INT_RGDIR.
    ENDLOOP.
    Read the last record.
    SORT INT_RGDIR BY SEQNR DESCENDING.
    READ TABLE INT_RGDIR INDEX 1.
    RX-KEY-SEQNO = INT_RGDIR-SEQNR.
    RX-KEY-PERNR = PERNR-PERNR.
    RP-IMP-C2-IN.
    CHECK RP-IMP-IN-SUBRC EQ 0.
    READ TABLE RT WITH KEY LGART = P_LGART1.
    IF SY-SUBRC = 0.
    INT_PETROL1-PALLOWANCE = RT-BETRG.
    ENDIF.
    APPEND INT_PETROL1.
    CLEAR INT_PETROL1.
    SELECT TRFST PERNR
    INTO CORRESPONDING FIELDS OF TABLE PER_NO
    FROM PA0008
    WHERE TRFST LIKE 'L%'
    AND BET01 > 0.
    SORT PER_NO.
    DELETE ADJACENT DUPLICATES FROM PER_NO.
    *-- END-OF-SELECTION.
    END-OF-SELECTION.
    LOOP AT INT_PETROL1.
    READ TABLE PER_NO WITH KEY PERNR = INT_PETROL1-PERNR.
    IF SY-SUBRC = 0.
    INT_PETROL-TRFST = PER_NO-TRFST.
    MODIFY INT_PETROL1 FROM INT_PETROL TRANSPORTING TRFST.
    ENDIF.
    ENDLOOP.
    SORT INT_PETROL1.
    DELETE ADJACENT DUPLICATES FROM INT_PETROL1.
    CONCATENATE 'From' ' : ' PN-BEGDA6(2) '.' PN-BEGDA4(2) '.' PN-
    BEGDA+0(4)
    ' To' ' : ' PN-ENDDA6(2) '.' PN-ENDDA4(2) '.' PN-ENDDA+0(4)
    INTO TITLE.
    IF P_DI = 'X'. "TO DISPLAY PETROL ALLOWANCE ONLY
    IF PNPTIMRA = 'X'. "CHECK OTHER PERIOD CHECKED
    DIS_FLAG = 1.
    ENDIF.
    IF PNPTIMR9 = 'X'. "CHECK TO SEE CURRENT PERIOD SELECTED
    CASES - NO RATE GIVEN, RATE GIVEN
    CURRENT PERIOD UPLOADED BUT PAYROLL NOT WRITTEN SO NO RESULT FROM LDB
    SELECT RATE INTO P_RATE FROM ZBPETROL_ALL WHERE BEGDA = PN- BEGDA AND ENDDA = PN-ENDDA.
    ENDSELECT.
    IF SY-DBCNT = 0.
    MESSAGE I455(0) WITH 'NO PETROL RATE EXSISTS'.
    ELSE.
    FLAG = 1.
    ENDIF. "OF SY-DBCNT
    IF P_RATE > 0 AND FLAG = 1. " PETROL RATE EXSISTS.
    SELECT PERNR SUM( BETRG ) INTO TABLE PA0015_DATA
    FROM PA0015
    WHERE BEGDA BETWEEN PN-BEGDA AND PN-ENDDA
    GROUP BY PERNR.
    SELECT APERNR ATRFST BVORNA BNACHN
    INTO CORRESPONDING FIELDS OF TABLE INT_PETROL3
    FROM PA0008 AS A
    INNER JOIN PA0002 AS B ON BPERNR = APERNR
    WHERE A~TRFST LIKE 'L%'
    AND A~BET01 > 0.
    SORT INT_PETROL3.
    DELETE ADJACENT DUPLICATES FROM INT_PETROL3.
    REFRESH INT_PETROL1.
    LOOP AT INT_PETROL3 INTO INT_PETROL2. "loop to transport
    employee name
    CONCATENATE INT_PETROL2-VORNA INT_PETROL2-NACHN INTO
    INT_PETROL2-NAME SEPARATED BY SPACE.
    MODIFY INT_PETROL3 FROM INT_PETROL2 TRANSPORTING NAME.
    ENDLOOP.
    LOOP AT INT_PETROL3 INTO INT_PETROL2. "loop to transport
    one
    table to another table
    READ TABLE PA0015_DATA WITH KEY PERNR = INT_PETROL2-PERNR.
    IF SY-SUBRC = 0.
    INT_PETROL-PERNR = INT_PETROL2-PERNR.
    INT_PETROL-TRFST = INT_PETROL2-TRFST.
    INT_PETROL-NAME = INT_PETROL2-NAME.
    INT_PETROL-PALLOWANCE = PA0015_DATA-BETRG.
    APPEND INT_PETROL TO INT_PETROL1.
    ENDIF.
    ENDLOOP.
    DIS_FLAG = 1.
    ENDIF. "P_RATE > 0 AND FLAG = 1.
    IF P_RATE > 0 AND FLAG = 0. "CURRENT PERIOD AND DATA NOT UPLOADED
    SELECT APERNR ATRFST BVORNA BNACHN
    INTO CORRESPONDING FIELDS OF TABLE INT_PETROL3
    FROM PA0008 AS A
    INNER JOIN PA0002 AS B ON BPERNR = APERNR
    WHERE A~TRFST LIKE 'L%'
    AND A~BET01 > 0.
    SORT INT_PETROL3.
    DELETE ADJACENT DUPLICATES FROM INT_PETROL3.
    REFRESH INT_PETROL1.
    LOOP AT INT_PETROL3 INTO INT_PETROL2. "loop to transport
    employee name
    CONCATENATE INT_PETROL2-VORNA INT_PETROL2-NACHN INTO
    INT_PETROL2-NAME SEPARATED BY SPACE.
    MODIFY INT_PETROL3 FROM INT_PETROL2 TRANSPORTING NAME.
    ENDLOOP.
    PERFORM GET_VALUE. "TO CONVERT THE FIRST SCREEN PERNR INTO
    NUMBER FORMATE
    LOOP AT INT_PETROL3 INTO INT_PETROL2. "loop to transport
    one
    table to another table
    READ TABLE EMPNO1 WITH KEY PERNR = INT_PETROL2-PERNR.
    IF SY-SUBRC <> 0.
    INT_PETROL-PERNR = INT_PETROL2-PERNR.
    INT_PETROL-TRFST = INT_PETROL2-TRFST.
    INT_PETROL-NAME = INT_PETROL2-NAME.
    APPEND INT_PETROL TO INT_PETROL1.
    ENDIF.
    ENDLOOP.
    PERFORM CAL_ALLOWANCE.
    ENDIF. " OF P_RATE > 0
    DIS_FLAG = 1.
    ENDIF. " OF CURRENT PERIOD CHECK.
    ENDIF. " OF CHECK DISPLAY.
    *----BDC
    IF P_UPLOAD = 'X'.
    IF PNPTIMRA = 'X'. "CHECK OTHER PERIOD CHECKED
    MESSAGE I455(0) WITH 'Petrol Allowance cannot be uploaded'.
    LEAVE SCREEN.
    ENDIF.
    IF P_RATE > 0.
    IF P_RATE > 0 OR P_RATE = 0.
    IF PNPTIMR9 = 'X'. "CHECK TO SEE CURRENT PERIOD SELECTED
    WA_PET_ALLOWANCE-BEGDA = PN-BEGDA.
    WA_PET_ALLOWANCE-ENDDA = PN-ENDDA.
    WA_PET_ALLOWANCE-RATE = P_RATE.
    WA_PET_ALLOWANCE-CURR = 'INR'.
    INSERT INTO ZBPETROL_ALL VALUES WA_PET_ALLOWANCE.
    SELECT A~PERNR A~TRFST B~VORNA B~NACHN
    INTO CORRESPONDING FIELDS OF TABLE INT_PETROL3
    FROM PA0008 AS A
    INNER JOIN PA0002 AS B ON B~PERNR = A~PERNR
    WHERE A~TRFST IN ('L1' , 'L2' , 'L3')
    AND A~BET01 > 0.
    SORT INT_PETROL3.
    DELETE ADJACENT DUPLICATES FROM INT_PETROL3.
    REFRESH INT_PETROL1.
    LOOP AT INT_PETROL3 INTO INT_PETROL2. "loop to transport
    employee name
    CONCATENATE INT_PETROL2-VORNA INT_PETROL2-NACHN INTO
    INT_PETROL2-NAME SEPARATED BY SPACE.
    MODIFY INT_PETROL3 FROM INT_PETROL2 TRANSPORTING NAME.
    ENDLOOP.
    PERFORM GET_VALUE. "TO CONVERT THE FIRST SCREEN PERNR INTO
    NUMBER FORMATE
    LOOP AT INT_PETROL3 INTO INT_PETROL2. "loop to transport
    one
    table to another table
    READ TABLE EMPNO1 WITH KEY PERNR = INT_PETROL2-PERNR.
    IF SY-SUBRC <> 0.
    INT_PETROL-PERNR = INT_PETROL2-PERNR.
    INT_PETROL-TRFST = INT_PETROL2-TRFST.
    INT_PETROL-NAME = INT_PETROL2-NAME.
    APPEND INT_PETROL TO INT_PETROL1.
    ENDIF.
    ENDLOOP.
    PERFORM CAL_ALLOWANCE.
    DIS_FLAG = 1.
    SORT INT_PETROL1.
    LOOP AT INT_PETROL1.
    MOVE: INT_PETROL1-PERNR TO INT_0015-PERNR,
    INT_PETROL1-PALLOWANCE TO INT_0015-BETRG.
    CONCATENATE PN-ENDDA6(2) PN-ENDDA4(2) PN-ENDDA+0(4) INTO
    INT_0015-BEGDA SEPARATED BY '.'.
    APPEND INT_0015.
    CLEAR INT_0015.
    ENDLOOP.
    LOOP AT INT_0015.
    PERFORM F_BDCDATA.
    IF P_FG = 'X'.
    CALL TRANSACTION 'PA30' USING BDCDATA MODE 'A' UPDATE 'S'.
    ELSE.
    CALL TRANSACTION 'PA30' USING BDCDATA MODE 'N' UPDATE 'S'.
    ENDIF.
    *-- Handling Error records.
    IF SY-SUBRC <> 0.
    *-- Handling Error Messages
    PERFORM ERROR_MSG.
    MOVE-CORRESPONDING INT_0015 TO E_INT_0015.
    APPEND E_INT_0015.
    CLEAR E_INT_0015.
    ENDIF.
    REFRESH BDCDATA.
    ENDLOOP.
    *-- Downloading Error Records.
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    FILENAME = 'C:\Errors.Txt'
    FILETYPE = 'ASC'
    TABLES
    DATA_TAB = E_INT_0015.
    *-- Downloading Error Messages.
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    FILENAME = 'C:\Err_Msg.Txt'
    FILETYPE = 'ASC'
    TABLES
    DATA_TAB = MSG.
    ENDIF. " FOR CURRENT PERIOD
    ENDIF.
    ELSE.
    MESSAGE I455(0) WITH 'Enter Petrol Rate'.
    LEAVE TO SCREEN 0.
    ENDIF. " FOR PETROL RATE
    ENDIF. " FOR UPLOAD
    IF DIS_FLAG = 1.
    INT_LAYOUT-SUBTOTALS_TEXT = TEXT-004.
    INT_LAYOUT-TOTALS_TEXT = TEXT-004.
    INT_LAYOUT-ZEBRA = 'X'.
    PERFORM FILL_FIELDCAT.
    PERFORM GET_EVENTS_ALV.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = WS_REPID
    IS_LAYOUT = INT_LAYOUT
    IT_FIELDCAT = INT_FIELDCAT[]
    I_DEFAULT = 'X'
    I_SAVE = 'X'
    IT_EVENTS = INT_EVENTS
    TABLES
    T_OUTTAB = INT_PETROL1
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDIF.
    *& Form GET_VALUE
    text
    FORM GET_VALUE.
    GET PARAMETER ID: 'NUM' FIELD TEMP_NUM.
    IF TEMP_NUM <> ''.
    LEN1 = STRLEN( TEMP_NUM ).
    PERFORM GET_PERNR.
    APPEND TEMP_NUM TO EMPNO.
    LOOP AT EMPNO INTO EMP_NO.
    CALL FUNCTION 'CHECK_AND_CONVERT_NUMERICS'
    EXPORTING
    DFELD = ' '
    DMZEI = ','
    DTYPE = 'STRING'
    DYPNO = ' '
    EFELD = EMP_NO-PERNR
    FNAME = ' '
    PROGR = ' '
    IMP_DECIMALS = '0'
    IMPORTING
    ERROR =
    IFELD = EMP_NO1-PERNR
    MESSG = ERR
    MSGLN =
    IF ( ERR-MSGID = '' ).
    APPEND EMP_NO1 TO EMPNO1.
    CLEAR EMP_NO1-PERNR.
    ELSE.
    MESSAGE I455(0) WITH 'Could not convert employee number'.
    LEAVE TO SCREEN 0.
    ENDIF.
    ENDLOOP.
    ENDIF.
    ENDFORM. "GET_VALUE
    *& Form GET_PERNR
    text
    FORM GET_PERNR.
    SPLIT TEMP_NUM AT ',' INTO EMP_NO TEMP_NUM.
    APPEND EMP_NO TO EMPNO.
    CLEAR EMP_NO.
    SEARCH TEMP_NUM FOR ','.
    IF SY-SUBRC = 0.
    PERFORM GET_PERNR.
    ENDIF.
    ENDFORM. "GET_PERNR
    *& Form ERROR_MSG
    text
    --> p1 text
    <-- p2 text
    FORM ERROR_MSG.
    IF SY-SUBRC <> 0.
    CALL FUNCTION 'FORMAT_MESSAGE'
    EXPORTING
    LANG = SY-LANGU
    IMPORTING
    MSG = MSG-MSG1.
    APPEND MSG.
    CLEAR MSG.
    ENDIF.
    ENDFORM. "ERROR_MSG
    *& Form F_BDCDATA
    text
    FORM F_BDCDATA.
    PERFORM BDC_DYNPRO USING 'SAPMP50A' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=INS'.
    PERFORM BDC_FIELD USING 'RP50G-PERNR'
    INT_0015-PERNR.
    PERFORM BDC_FIELD USING 'RP50G-TIMR6'
    'X'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'RP50G-CHOIC'.
    PERFORM BDC_FIELD USING 'RP50G-CHOIC'
    '0015'.
    PERFORM BDC_DYNPRO USING 'MP001500' '2000'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'Q0015-BETRG'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '/00'.
    PERFORM BDC_FIELD USING 'P0015-LGART'
    '0077'. "CHANGE WAGE TYPE HERE
    ALSO
    PERFORM BDC_FIELD USING 'Q0015-BETRG'
    INT_0015-BETRG.
    PERFORM BDC_FIELD USING 'P0015-WAERS'
    'INR'.
    PERFORM BDC_FIELD USING 'P0015-BEGDA'
    INT_0015-BEGDA.
    PERFORM BDC_DYNPRO USING 'MP001500' '2000'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'P0015-LGART'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=UPD'.
    PERFORM BDC_FIELD USING 'P0015-LGART'
    '0077'. "CHANGE WAGE TYPE HERE
    ALSO
    PERFORM BDC_FIELD USING 'Q0015-BETRG'
    INT_0015-BETRG.
    PERFORM BDC_FIELD USING 'P0015-WAERS'
    'INR'.
    PERFORM BDC_FIELD USING 'P0015-BEGDA'
    INT_0015-BEGDA.
    ENDFORM. "F_BDCDATA
    *& Form BDC_DYNPRO
    text
    -->P_0732 text
    -->P_0733 text
    FORM BDC_DYNPRO USING VALUE(P_0732) TYPE C
    VALUE(P_0733) TYPE C.
    CLEAR BDCDATA.
    BDCDATA-PROGRAM = P_0732.
    BDCDATA-DYNPRO = P_0733.
    BDCDATA-DYNBEGIN = 'X'.
    APPEND BDCDATA.
    ENDFORM. " BDC_DYNPRO
    *& Form BDC_FIELD
    text
    -->P_0755 text
    -->P_0756 text
    FORM BDC_FIELD USING VALUE(P_0755) TYPE C
    VALUE(P_0756) TYPE C.
    CLEAR BDCDATA.
    BDCDATA-FNAM = P_0755.
    BDCDATA-FVAL = P_0756.
    APPEND BDCDATA.
    ENDFORM. " BDC_FIELD
    *& Form CAL_ALLOWANCE
    text
    FORM CAL_ALLOWANCE.
    LOOP AT INT_PETROL1 INTO INT_PETROL.
    IF INT_PETROL-TRFST = 'L1'.
    INT_PETROL-PALLOWANCE = P_RATE * 100. "CHANGE TO SELECT WHEN
    DISPLAY
    ELSEIF INT_PETROL-TRFST = 'L2'.
    INT_PETROL-PALLOWANCE = P_RATE * 150.
    ELSEIF INT_PETROL-TRFST = 'L3'.
    INT_PETROL-PALLOWANCE = P_RATE * 150.
    ELSEIF INT_PETROL-TRFST = 'L4'.
    INT_PETROL-PALLOWANCE = P_RATE * 200.
    ELSEIF INT_PETROL-TRFST = 'L5'.
    INT_PETROL-PALLOWANCE = P_RATE * 250.
    ENDIF.
    MODIFY INT_PETROL1 FROM INT_PETROL TRANSPORTING PALLOWANCE.
    ENDLOOP.
    ENDFORM. "CAL_ALLOWANCE
    *& Form FILL_FIELDCAT
    text
    --> p1 text
    <-- p2 text
    FORM FILL_FIELDCAT.
    INT_FIELDCAT-COL_POS = 1.
    INT_FIELDCAT-TABNAME = 'INT_PETROL1'.
    INT_FIELDCAT-FIELDNAME = 'PERNR'.
    INT_FIELDCAT-SELTEXT_L = TEXT-005.
    INT_FIELDCAT-OUTPUTLEN = 10.
    INT_FIELDCAT-KEY = 'X'.
    APPEND INT_FIELDCAT.
    CLEAR INT_FIELDCAT.
    INT_FIELDCAT-COL_POS = 2.
    INT_FIELDCAT-TABNAME = 'INT_PETROL1'.
    INT_FIELDCAT-FIELDNAME = 'NAME'.
    INT_FIELDCAT-SELTEXT_L = TEXT-006.
    INT_FIELDCAT-OUTPUTLEN = 25.
    INT_FIELDCAT-KEY = 'X'.
    APPEND INT_FIELDCAT.
    CLEAR INT_FIELDCAT.
    INT_FIELDCAT-COL_POS = 3.
    INT_FIELDCAT-TABNAME = 'INT_PETROL1'.
    INT_FIELDCAT-FIELDNAME = 'TRFST'.
    INT_FIELDCAT-SELTEXT_L = TEXT-007.
    INT_FIELDCAT-OUTPUTLEN = 5.
    INT_FIELDCAT-KEY = 'X'.
    APPEND INT_FIELDCAT.
    CLEAR INT_FIELDCAT.
    INT_FIELDCAT-COL_POS = 4.
    INT_FIELDCAT-TABNAME = 'INT_PETROL1'.
    INT_FIELDCAT-FIELDNAME = 'PALLOWANCE'.
    INT_FIELDCAT-SELTEXT_L = TEXT-008.
    INT_FIELDCAT-OUTPUTLEN = 16.
    INT_FIELDCAT-KEY = 'X'.
    APPEND INT_FIELDCAT.
    CLEAR INT_FIELDCAT.
    ENDFORM. " FILL_FIELDCAT
    *& Form GET_EVENTS_ALV
    text
    --> p1 text
    <-- p2 text
    FORM GET_EVENTS_ALV.
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
    I_LIST_TYPE = 1
    IMPORTING
    ET_EVENTS = INT_EVENTS[]
    EXCEPTIONS
    LIST_TYPE_WRONG = 1
    OTHERS = 2.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    READ TABLE INT_EVENTS INTO WS_EVENTS WITH KEY NAME =
    SLIS_EV_TOP_OF_PAGE.
    IF SY-SUBRC = 0.
    WS_EVENTS-FORM = 'TOP'.
    MODIFY INT_EVENTS FROM WS_EVENTS INDEX SY-TABIX.
    ENDIF.
    ENDFORM. " GET_EVENTS_ALV
    *& Form TOP-OF-PAGE
    text
    FORM TOP.
    *-- ALV Declarations
    DATA: WS_HEADER TYPE SLIS_T_LISTHEADER,
    WA_HEADER TYPE SLIS_LISTHEADER.
    *-- Title
    WA_HEADER-TYP = 'H'.
    WA_HEADER-INFO = TEXT-009.
    APPEND WA_HEADER TO WS_HEADER.
    CLEAR WA_HEADER.
    WA_HEADER-TYP = 'H'.
    WA_HEADER-INFO = TITLE.
    APPEND WA_HEADER TO WS_HEADER.
    CLEAR WA_HEADER.
    WA_HEADER-TYP = 'H'.
    WA_HEADER-INFO = ' '.
    APPEND WA_HEADER TO WS_HEADER.
    CLEAR WA_HEADER.
    WA_HEADER-TYP = 'H'.
    WA_HEADER-INFO = ' '.
    APPEND WA_HEADER TO WS_HEADER.
    CLEAR WA_HEADER.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    IT_LIST_COMMENTARY = WS_HEADER
    I_LOGO = 'LOGO'.
    ENDFORM. "TOP-OF-PAGE
    HR deals with the INFOTYPES which are similar to Tables in General ABAP.
    There are different ways of fetching data from these infotypes.
    There are different areas in HR LIKE Personal Admn, Orgn Management, Benefits, Time amangement, Event Management, Payroll etc
    Infotypes for these areas are different from one another area.
    storing of records data in each type of area is different
    LDBS like PNP are used in HR programing.
    Instead of Select.. we use some ROUTINES and PROVIDE..ENDPROVIDE.. etc
    and in the case of Pay roll we use Clusters and we Import and Export them for data fetching.
    On the whole Normal ABAP is different from HR abap.
    For Personal Admn the Infotypes start with PA0000 to PA1999
    Time Related Infotypes start with PA2000 to PA2999.
    Orgn related Infotypes start with HRP1000 to HRP1999.
    All custom developed infotypes stsrat with PA9000 onwards.
    In payroll processing we use Clusters like PCL1,2,3 and 4.
    Instead of Select query we use PROVIDE and ENDPROVIDE..
    You have to assign a Logical Database in the attributes PNP.
    Go through the SAp doc for HR programming and start doing.
    http://www.sapdevelopment.co.uk/hr/hrhome.htm
    See:
    http://help.sap.com/saphelp_46c/helpdata/en/4f/d5268a575e11d189270000e8322f96/content.htm
    sites regarding hr-abap:
    http://www.sapdevelopment.co.uk/hr/hrhome.htm
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PAPA/PAPA.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PAPD/PAPD.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PYINT/PYINT_BASICS.pdf
    http://www.atomhr.com/training/Technical_Topics_in_HR.htm
    http://www.planetsap.com/hr_abap_main_page.htm
    You can see some Standard Program examples in this one ...
    http://www.sapdevelopment.co.uk/programs/programshr.htm
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci1030179,00.html?Offer=SAlgwn12604#Certification
    http://www.erpgenie.com/faq/hr.htm.
    http://www.planetsap.com/hr_abap_main_page.htm
    http://www.sapbrain.com/TUTORIALS/FUNCTIONAL/HR_tutorial.html
    These are the FAQ's that might helps you as well.
    http://www.sap-img.com/human/hr-faq.htm
    http://www.sapgenie.com/faq/hr.htm
    http://www.planetsap.com/hr_abap_main_page.htm
    http://www.atomhr.com/library_full.htm
    HR Long texts Upload
    Look at the below link
    BDC - hr maintain text
    Please refer to the following sample program for accessing PCH LDB.
    For concept to start with refer url:
    http://www.sap-press.de/download/dateien/860/sappress_mysap_hr_technical_principles2.pdf
    It contains info regarding PCH Reporting.
    REPORT zhsol010.
    TABLES: objec, gdstr.
    INFOTYPES: 0002, 0006, 1003.
    DATA: stabs LIKE p1003-stabs,
    name LIKE p0001-ename.
    INITIALIZATION.
    pchotype = 'O'.
    pchwegid = 'O-S-P'.
    GET objec.
    IF objec-otype = 'S'.
    CLEAR stabs.
    LOOP AT p1003 WHERE begda LE pc-endda
    AND endda GE pc-begda.
    IF p1003-stabs = 'X'.
    stabs = 'X'.
    WRITE : / objec-objid, objec-short, objec-stext.
    ENDIF.
    ENDLOOP.
    ENDIF.
    IF objec-otype = 'P' AND stabs = 'X'.
    PROVIDE vorna nachn FROM p0002
    subty telnr FROM p0006
    BETWEEN pc-begda and pc-endda
    WHERE p0006-subty = '1'.
    IF p0006_valid = 'X'.
    CONCATENATE p0002-vorna p0002-nachn INTO name
    SEPARATED BY space.
    WRITE: / name, p0006-telnr.
    SKIP.
    ENDIF.
    ENDPROVIDE.
    ENDIF.
    sample code:
    REPORT zpwtest .
    TABLES : t001 .
    TYPE-POOLS slis .
    DATA : t_t001 TYPE TABLE OF t001 ,
    t_abaplist TYPE TABLE OF abaplist .
    DATA : w_abaplist TYPE abaplist .
    SELECT-OPTIONS : s_bukrs FOR t001-bukrs OBLIGATORY .
    PARAMETERS : p_list TYPE c NO-DISPLAY .
    START-OF-SELECTION .
    IF sy-batch = 'X' AND p_list IS INITIAL .
    Submit report and get list in memory
    SUBMIT zpwtest EXPORTING LIST TO MEMORY
    WITH s_bukrs IN s_bukrs
    WITH p_list = 'X'
    AND RETURN.
    Get the list from memory.
    CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
    listobject = t_abaplist
    EXCEPTIONS
    not_found = 1
    OTHERS = 2.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    Send report to mail receipent
    PERFORM send_mail .
    ELSE.
    PERFORM select_data .
    PERFORM display_data .
    ENDIF.
    *SO_NEW_DOCUMENT_SEND_API1
    *& Form select_data
    FORM select_data.
    SELECT *
    INTO TABLE t_t001
    FROM t001
    WHERE bukrs IN s_bukrs .
    ENDFORM. " select_data
    *& Form display_data
    FORM display_data.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    i_structure_name = 'T001'
    TABLES
    t_outtab = t_t001
    EXCEPTIONS
    program_error = 1
    OTHERS = 2.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    ENDFORM. " display_data
    *& Form send_mail
    FORM send_mail.
    DATA: message_content LIKE soli OCCURS 10 WITH HEADER LINE,
    receiver_list LIKE soos1 OCCURS 5 WITH HEADER LINE,
    packing_list LIKE soxpl OCCURS 2 WITH HEADER LINE,
    listobject LIKE abaplist OCCURS 10,
    compressed_attachment LIKE soli OCCURS 100 WITH HEADER LINE,
    w_object_hd_change LIKE sood1,
    compressed_size LIKE sy-index.
    Fot external email id
    receiver_list-recextnam = '[email protected]'.
    receiver_list-recesc = 'E'.
    receiver_list-sndart = 'INT'.
    receiver_list-sndpri = '1'.
    FOr internal email id
    receiver_list-recnam = sy-uname .
    receiver_list-esc_des = 'B'.
    APPEND receiver_list.
    General data
    w_object_hd_change-objla = sy-langu.
    w_object_hd_change-objnam = 'Object name'.
    w_object_hd_change-objsns = 'P'.
    Mail subject
    w_object_hd_change-objdes = 'Message subject'.
    Mail body
    APPEND 'Message content' TO message_content.
    CALL FUNCTION 'TABLE_COMPRESS'
    IMPORTING
    compressed_size = compressed_size
    TABLES
    in = t_abaplist
    out = compressed_attachment.
    DESCRIBE TABLE compressed_attachment.
    CLEAR packing_list.
    packing_list-transf_bin = 'X'.
    packing_list-head_start = 0.
    packing_list-head_num = 0.
    packing_list-body_start = 1.
    packing_list-body_num = sy-tfill.
    packing_list-objtp = 'ALI'.
    packing_list-objnam = 'Object name'.
    packing_list-objdes = 'Attachment description'.
    packing_list-objlen = compressed_size.
    APPEND packing_list.
    CALL FUNCTION 'SO_OBJECT_SEND'
    EXPORTING
    object_hd_change = w_object_hd_change
    object_type = 'RAW'
    owner = sy-uname
    TABLES
    objcont = message_content
    receivers = receiver_list
    packing_list = packing_list
    att_cont = compressed_attachment.
    ENDFORM. " send_mail
    Check this links,
    https://forums.sdn.sap.com/click.jspa?searchID=4564732&messageID=3009173
    https://forums.sdn.sap.com/click.jspa?searchID=4564732&messageID=2198920
    https://forums.sdn.sap.com/click.jspa?searchID=4564732&messageID=1714842
    https://forums.sdn.sap.com/click.jspa?searchID=4564732&messageID=2232979
    Regards
    vasu

  • Open a web page and pass values from a java file

    Hi,
    I need to open a web page and pass values in the text boxes.
    Finally submit needs to be triggered. All this needs to be done from a java file. i.e instead of entering my values in a web page and submit, i need to do it from my java file..
    Any inputs so that I proceed in the right direction..or is there any alternate way to achive this ??
    Thanks in advance..
    Sid

    I hava found a lines of jaa that can open a URL , lets say www.net.java
    You can open it writable or not.
    It is half of the job you need.
    If you are interested.
    I am wrinting a program to print a URL , and have developed this small
    code.
    Angel Portal

  • Navigate between 2 reports and pass values between 2 different columns

    Hello
    I have a question about navigating from 1 report to another while passing the value from column 1 to column 2 in the second report...
    In OBIEE 11G, I create action link on report 1, column 1 and this action link is navigate to BI Content and the destination is report 2. Now report 2 has column 2, which is an alias of column 1 from report 1, from user's point of view they are the same, but from OBIEE point of view they are different.
    My action link is able to navigate to report 2, however, the value in column 1 which I clicked to execute the navigation, does not get passed to column 2 in report 2..
    Is there a way around this issue?
    Let me know if I need to provide more clarification
    Thanks

    Thank you Anirban
    I think this is the best solution you just provided.The current post and the post at below looks same
    Navigate from report to dashboard and  pass values between different column
    is it not answered?
    Thanks :)
    Edited by: Srini VEERAVALLI on May 7, 2013 3:07 PM

  • How to call a idoc in abap program and updates catsdb table

    how to call a idoc in abap program and updates catsdb table
    thank you,
    Jagrut BharatKumar Shukla

    Hi Kishan,
    You can refer to following help document,
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/d005244e9d1d4d92b2fe7935556b4c/content.htm
    Regards,
    Meera

  • Query from the data abse  and pass values to a pdf form

    query from the data abse and pass values to a pdf form
    Hello
    Hello i have this html report that i have written to output a
    report.
    now, i am assigned to pass the same fields to a pdf form so
    the fields in the adaobe form can be populated or the term
    Pre-populate the form.
    can anyone help me get started.
    first i would like to know if it can be done.
    second, what do i need to get started (tools )
    third how do i do this.
    i am really lost at this point.
    can anyone give me tips in how to approach this
    subject??

    It can be one using Adobe Acrobat Designer which is packaged
    with Acrobat
    Professional Pro 7. It uses all XML to create and populate
    forms.
    If you had the time, you can also create <cfdocument
    type="pdf"> to have
    them ready and just pass the info to it so it autogenerates
    the PDF on the
    fly.

  • Can ABAP program and a Java apps access the same DB table?

    If an ABAP program and a Java apps access the same DB table, how does the Enqueue services from ABAP and Java communicate with each other to ensure locking consistency (if they even communicate with each otehr at all)?
    Or there wont be such situation because there are separate schema for ABAP stack and Java stack?
    Your help is greatly appreciated.

    Hello!
    A while ago I was a subject to criticism too for not granting points to helpfull answers. I appeared to be ungratefull, but I'm actually not (I guess the same goes for Vincent). I absolutely agree that good people who provide helpfull answers deserve (at least) points, but I didn't quite get the whole idea with points untill I was explicitly warned. I took some time to correct this and I granted points for all my past questions, generously, with "interest rates" for waiting.
    My point is:
    The pointing system is good, but unintuitive and not documented. I suggested this at that time, and I see that nothing has changed since. I see also that I'm not the only one who has experienced missunderstandings.
    I repeat the message to SDN people: Please provide some info on pointing system! A few sentences behind a "What's this?" link would do. It's not such a hard work.
    Thanks!
    Kind regards,
    Igor Barbaric

  • ABAP program and FB for value mapping replication

    Hi,
    we are using a 40B system and I want to use the value mapping replication in XI. To refill the data into the XI database I must write an ABAP and a function module to transfer the data out of R/3 into XI (via RFC). Has anybody an example how the program (and the FB) must look like? i.e I want to read table mvke and extract the materialnumber and the prodhierarchy.
    Thanks and best regards
    Arnold

    Hi Arnold,
    First you need a table type with a structure like follows:
    operation
    groupid
    context
    identifier
    agency
    scheme
    (corresponding to the Interface ValueMappingReplication)
    All used data elements should have type string or charXX
    for example: operation - char10, groupid - char32, rest - char120
    Next you create a function module with attribute 'remote-enabled module'.
    The import parameter is your new table structure.
    Next you create an ABAP program. Here an example:
    report z_value_mapping .
    tables mvke.
    data:
    p_value_mapping type zvalue_mapping,
    p_value_mapping_table type zvalue_mapping_table.
    p_value_mapping-operation = 'Insert'.
    p_value_mapping-context = 'http://xi.com/Material'.
    select * from mvke where matnr between '170' and '501'.
    check not mvke-prodh is initial.
    * Create a value mapping group to join two entries.
    * use a unique 32 digit number.
    concatenate '00000000000000' mvke-prodh into p_value_mapping-groupid.
    translate p_value_mapping-groupid using ' 0'.
    * Store the mapping source as first entry to the group
    p_value_mapping-identifier = mvke-matnr.
    p_value_mapping-agency = 'SenderAgency'.
    p_value_mapping-scheme = 'MATNR'.
    append p_value_mapping to p_value_mapping_table.
    * Store the mapping target as second entry to the group
    p_value_mapping-identifier = mvke-prodh.
    p_value_mapping-agency = 'ReceiverAgency'.
    p_value_mapping-scheme = 'PRODH'.
    append p_value_mapping to p_value_mapping_table.
    endselect.
    * Push data to XI
    call function 'Z_VALUE_MAPPING' in background task
      destination 'IS_XID'
      exporting
        value_mapping       = p_value_mapping_table.
        commit work.
    Import the RFC to the Integration Builder, create a mapping between your RFC and the interface ValueMappingReplication.
    Check this Blog for additional steps:
    /people/sreekanth.babu2/blog/2005/02/23/value-mapping-replication
    Choose names for context, agency and scheme which are useful your scenario.
    Regards
    Stefan

  • Executing a program and passing parameters using ProcessStartInfo

    I am trying to run an application and pass parameters from within a c# desktop application.  It appears to attempt to execute but it doesn’t run and the exeProcess shows errors in the locals.
    Here is the code:
    ProcessStartInfo startBin2TextApp =
    new
    ProcessStartInfo(strNowRunThis, strDataFile +
    " a");
    startBin2TextApp.CreateNoWindow =
    true;
    startBin2TextApp.UseShellExecute =
    false;          startBin2TextApp.WindowStyle =
    ProcessWindowStyle.Hidden;
    Process exeProcess =
    null;
    exeProcess = Process.Start(startBin2TextApp);
    This is what is in the Arguments when Process.Start(startBin2TextApp) is ready to execute.
    Arguments         "C:\\Users\\10065421\\Documents\\ab\\Working\\Projects\\Panel Explorer\\B640130A.DAT a"             
    After the line is executed, exeProcess shows an error in most of the attributes.  For instance, BasePriority shows “exeProcess.BaePriority” threw an exception of type “System.InvalidOperationException”.
    I ran this from the command prompt so I know it runs on this machine with the same parameters I am using in the code.
    Any ideas?
    Thanks.

    Here is the complete code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;
    using System.Diagnostics;
    using System.Threading.Tasks;
    namespace PanelExplorerV1
        public
    class
    CommonCode
    public
    delegate
    void
    PassStatusBackFunction(string
    msg);
    public
    void RunBinToText(PassStatusBackFunction
    messageCallback)
    try
    string strStartDirectory =
    string strDataPath =
    string strDataFile =
    string strDataFileTitle =
    string strBin2TextPath =
    string strDestinationDirectory;
    string strNowRunThis =
    //int intReturnValue = 0;
                    strStartDirectory =
    Application.StartupPath;
    OpenFileDialog dlgCommonDialog =
    new
    OpenFileDialog();
    //CommonDialog dlgCommonDiaglog = new CommonDialog();
                    dlgCommonDialog.FileName =
    //dlgCommonDialog.CancelError = true;
                    dlgCommonDialog.Filter =
    "Binary Data Files (*.dat)|*.dat|All Files (*.*)|*.*";
                    dlgCommonDialog.ShowDialog();
                    strDataFile = dlgCommonDialog.FileName;
                    strDataFileTitle = dlgCommonDialog.Title;
                    if
    (strDataFile.Length == 0)
    return;
                    strDataPath =
    Path.GetDirectoryName(strDataFile);
    object argumentHolder = 1;
                    messageCallback("Extracting data from
    " + strDataFile +
    "!!!  Please Wait");
                    strBin2TextPath = strStartDirectory +
    "\\" +
    "Bin2Txt.exe";
                    strDestinationDirectory = strDataPath +
    "\\" +
    "Bin2Txt.exe";
                    System.IO.File.Copy(strBin2TextPath,
    strDestinationDirectory);
                    strNowRunThis = strDestinationDirectory;
    ProcessStartInfo startBin2TextApp =
    new
    ProcessStartInfo(strNowRunThis, strDataFile +
    " a");
                    startBin2TextApp.CreateNoWindow =
    true;
                    startBin2TextApp.UseShellExecute =
    false;         
                    startBin2TextApp.WindowStyle =
    ProcessWindowStyle.Hidden;
                    Process
    exeProcess = null;
                    exeProcess =
    Process.Start(startBin2TextApp);
                    messageCallback("Finished Extracting
    data from " + strDataFile);
    return;
    catch (InvalidOperationException
    inEx)
    Console.WriteLine(inEx.Message);

  • Calling a report and passing values!!

    Hi Experts,
    i have a requirement. I have a report [zrep1] with billing doc field and shipment field on the selection screen.
    The logic for billing document is written. Im writing logic for shipment numbers. I am finding the billing documents of delivaries for each shipment.
    I want to pass those billing documents as input to the same report program [zrep1] for the existing billing document code to get the output.
    How to call the same report and pass the values from internal table as input to it.
    Please suggest the way to proceed. i knw it is possible.
    Thanks in advance.
    Edited by: Craig Cmehil on Jul 3, 2008 3:30 PM

    Hello,
    Try this:
    The program report1 has a stand-alone selection screen with the screen number 1100. In the program report2, an internal table with row type RSPARAMS and a ranges table are filled for this selection screen. These are transferred at SUBMIT together with a single condition.
    Program accessed
    REPORT report1.
    DATA text TYPE c LENGTH 10.
    SELECTION-SCREEN BEGIN OF SCREEN 1100.
      SELECT-OPTIONS: selcrit1 FOR text,
                      selcrit2 FOR text.
    SELECTION-SCREEN END OF SCREEN 1100.
    Calling program
    REPORT report2.
    DATA: text       TYPE c LENGTH 10,
          rspar_tab  TYPE TABLE OF rsparams,
          rspar_line LIKE LINE OF rspar_tab,
          range_tab  LIKE RANGE OF text,
          range_line LIKE LINE OF range_tab.
    rspar_line-selname = 'SELCRIT1'.
    rspar_line-kind    = 'S'.
    rspar_line-sign    = 'I'.
    rspar_line-option  = 'EQ'.
    rspar_line-low     = 'ABAP'.
    APPEND rspar_line TO rspar_tab.
    range_line-sign   = 'E'.
    range_line-option = 'EQ'.
    range_line-low    = 'H'.
    APPEND range_line TO range_tab.
    range_line-sign   = 'E'.
    range_line-option = 'EQ'.
    range_line-low    = 'K'.
    APPEND range_line TO range_tab.
    SUBMIT report1 USING SELECTION-SCREEN '1100'
                   WITH SELECTION-TABLE rspar_tab
                   WITH selcrit2 BETWEEN 'H' AND 'K'
                   WITH selcrit2 IN range_tab
                   AND RETURN.
    Regards.

  • ABAP Program and Execution Caching?

    Hi All
    We have a strange problem with custom ABAP program possibily caching a SQL statement. Here is the problem:
    Transaction: ZTRANS_C1
    This transaction is about 4 years old and we have noticed a problem with a SQL statement withing the program which is causing a timeout and shorts dumps (runs for 600ms). We managed to fix the statement and change the program but it is still taking 600ms and timing out.
    So we created a new transaction ZTRANS_C2 which is an exact copy of ZTRANS_C1 and ran it. This took only 65ms.
    So is there any way in SAP or SQL where we can stop it caching the statements or is this some other problem?
    Thanks
    Phil

    Hi Arnold,
    First you need a table type with a structure like follows:
    operation
    groupid
    context
    identifier
    agency
    scheme
    (corresponding to the Interface ValueMappingReplication)
    All used data elements should have type string or charXX
    for example: operation - char10, groupid - char32, rest - char120
    Next you create a function module with attribute 'remote-enabled module'.
    The import parameter is your new table structure.
    Next you create an ABAP program. Here an example:
    report z_value_mapping .
    tables mvke.
    data:
    p_value_mapping type zvalue_mapping,
    p_value_mapping_table type zvalue_mapping_table.
    p_value_mapping-operation = 'Insert'.
    p_value_mapping-context = 'http://xi.com/Material'.
    select * from mvke where matnr between '170' and '501'.
    check not mvke-prodh is initial.
    * Create a value mapping group to join two entries.
    * use a unique 32 digit number.
    concatenate '00000000000000' mvke-prodh into p_value_mapping-groupid.
    translate p_value_mapping-groupid using ' 0'.
    * Store the mapping source as first entry to the group
    p_value_mapping-identifier = mvke-matnr.
    p_value_mapping-agency = 'SenderAgency'.
    p_value_mapping-scheme = 'MATNR'.
    append p_value_mapping to p_value_mapping_table.
    * Store the mapping target as second entry to the group
    p_value_mapping-identifier = mvke-prodh.
    p_value_mapping-agency = 'ReceiverAgency'.
    p_value_mapping-scheme = 'PRODH'.
    append p_value_mapping to p_value_mapping_table.
    endselect.
    * Push data to XI
    call function 'Z_VALUE_MAPPING' in background task
      destination 'IS_XID'
      exporting
        value_mapping       = p_value_mapping_table.
        commit work.
    Import the RFC to the Integration Builder, create a mapping between your RFC and the interface ValueMappingReplication.
    Check this Blog for additional steps:
    /people/sreekanth.babu2/blog/2005/02/23/value-mapping-replication
    Choose names for context, agency and scheme which are useful your scenario.
    Regards
    Stefan

  • Navigate from report to dashboard and  pass values between different column

    Hello
    I have a question about navigating from 1 report to a dashboard page while passing the value from column 1 to column 2 in the second report...
    In OBIEE 11G, I create action link on report 1, column 1 and this action link is navigate to BI Content and the destination is a dashboard page, which has column 2 used as dashboard prompt and there are 3 reports all use column 2 to filter. Now the column 2 in the dashboard page is an alias of column 1 from report 1, from user's point of view they are the same, but from OBIEE point of view they are different.
    My action link is able to navigate to dashboard, however, the value in column 1 which I clicked to execute the navigation, does not get passed to column 2 as the dashboard prompt doesn't get this value upon navigation..
    Since I can't put column 1 in dashboard 2 nor can I put column 2 in report 1. Because our data model is done in the way that if I use column 1 or column 2 in both places, it will be circular joins...
    Is there a way around this issue?
    Let me know if I need to provide more clarification
    Thanks

    Sid
    Here is the thing..
    Let's say we have Dimension 1, dimension 2 and fact 1 and fact 2
    In one report, you need to show Dimension 2 and fact 1 so Dimension 2 joins to fact 1.
    In some other cases, you need to shown dimension 1 and fact 2 stuffs, but dimension 1 can't get to fact 2 without going through dimension 2. So Dim 1 --> Dim 2 --> Fact 2
    Then in some other cases, you need to show Dim 1 and Fact 1 reports..
    In means, your model will look at:
    Dim1 --> DIm2 and Dim 1 --> Fact 1 and Dim 2 --> Fact 1.. This is just a simpler version of a much more complex model that I am dealing with now..
    So in this case, you can't just use Dim 1 attributes across the board. For some dashboards, you will have to create alias of Dim 1, call it A1_Dim1, un-join Dim1 with Dim 2 or to fact 1 to avoid circular joins... Then in different reports, you either use columns from Dim 1 or A1_Dim1..
    Now Dim1 and A1_DIM1 are really the same thing, but they are not according to OBIEE...
    So my problem is, in report 1 where Dim1 is used, it can't past values to Dashboard 2 where A1_DIM1 is used as dashboard prompt..
    I want to know if there is a way around this issue
    Hope this makes more sense now
    Thanks

Maybe you are looking for

  • Problem installing dw cs4 on mac osx 10.5.7

    Hi, I am encountering a weird problem when trying to install dw cs4 on my macbook which runs osx 10.5.7. My user account has admin privilliges, yet when running the setup / installation file either from the disk or by downloading the trial - 2 dreamw

  • Libraries with 0 bytes

    I don't know whether this is the right news group to post this so please excuse me if it isn't. I finished installing 8iEE on Suse linux 6.2 and got error messages whenever I tried to run sqlplus. It turns out that some lib files are truncated to 0 b

  • Type 1 and Type 2 dimension in the same table

    Assuming a table with both Type 1 and Type 2 dimensions how do you engineer an ETL load? Please correct my options below if I am wrong Option 1: Inside a Slowly changing dimension set all 3, fixed attributes, Historical attributes and changing attrib

  • Developer 6/6i Sample Projects on the Web

    Good Day Do Anybody of you know where I can find any sample prjects of Forms & Reports on the net. If so please tell me the URL. Thanks a lot and happy new year Tariq

  • Extraction is taking forever! is this normal?

    just setting up cc. its downloaded but has been "extracting" for over a half an hour. im on a broadband so im wondering if there isnt a hiccup