Event in sap abap

Hi This is vijay i have doubt on , is any possible to write a coding on lost focus event is parameter of selection screen

Hello Vijay,
                 In ABAP there is no event like "lost focus " aswhat we have in Java.
Thanks,
Greetson

Similar Messages

  • Pdf live cycle  form through sap abap editor to validate user input by java script coding

    I am new to apply a java script in a Adobe form.
    So i need of help that i have 9 page form of HR module i need to verify every blank field and wrong entry field also.
    I look around a lot of code but still i am not able to perform good validation in a Adobe form.
    I am using SAP ABAP editor where i am making through PDF Live cycle FORM & try to put java script validation on the field.
    My problem is that how can i link or configured to Adobe form.
    Here are some event are given "mouseup","validate" or more are given.So how i can do.
    i wrote the code like
    / Get the field value
    var f1 = this.getField("VORNA");----why it is not working.Some thing is wrong?
    var v1 = f1.valueAsString;
    if (v1) {
    } else {
       app.alert("Field: " + f1.name + " is blank.", 1);
    //above code is not working.
    but here we used rawValue() method it works , but it popup message  javascript with window error.
    if( this.rawValue()==' ' || this.rawValue==null)---------this works
    xfa.host.MessageBox("First name is blank!");---------this works
    "VORNA" is "First name" field name binding with this value.
    How we can linked java script file with Adobe form.
    Kindly help me

    You're mixing code for an acroform with code for an XFA form. SInce you're creating the form with LiveCycle Designer, it wold be better if you posted this to the LiveCycle Designer forum, if you haven't already.

  • Pdf live form through sap abap editor to validate user input by java script coding

    I am new to apply a java script in a Adobe form.
    So i need of help that i have 9 page form of HR module i need to verify every blank field and wrong entry field also.
    I look around a lot of code but still i am not able to perform good validation in a Adobe form.
    I am using SAP ABAP editor where i am making through PDF Live cycle FORM & try to put java script validation on the field.
    My problem is that how can i link or configured to Adobe form.
    Here are some event are given "mouseup","validate" or more are given.So how i can do.
    i wrote the code like
    / Get the field value
    var f1 = this.getField("VORNA");----why it is not working.Some thing is wrong?
    var v1 = f1.valueAsString;
    if (v1) {
    } else {
       app.alert("Field: " + f1.name + " is blank.", 1);
    //above code is not working.
    but here we used rawValue() method it works , but it popup message  javascript with window error.
    if( this.rawValue()==' ' || this.rawValue==null)---------this works
    xfa.host.MessageBox("First name is blank!");---------this works
    "VORNA" is "First name" field name binding with this value.
    How we can linked java script file with Adobe form.
    Kindly help me.

    You're mixing code for an acroform with code for an XFA form. SInce you're creating the form with LiveCycle Designer, it wold be better if you posted this to the LiveCycle Designer forum, if you haven't already.

  • How to save the data to sap abap using Adobe Flex

    Hi Everybody......
    I am new to Adobe flex with sap abap.
          How to save the data in sap abap using Adobe Flex coding is Action Script and using RFC web service.
    Please give me any suggisions on that.
    Thank you
    Venkatesh V

    Hi Venkatesh,
    Try with folowing coding...
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
         initialize="initApp()">
         <mx:Label x="10" y="23" text="Airline" width="90" id="lblAirline"/>
         <mx:TextInput x="108" y="21" id="txtAirline"/>
         <mx:Button x="10" y="49" label="Get Data" id="btnGetData" enabled="false" click="getData()"/>
         <mx:DataGrid x="10" y="97" id="dgFlightData" dataProvider="">
         </mx:DataGrid>
           <mx:Script>
              <![CDATA[
                   import mx.collections.ArrayCollection;
                   import mx.rpc.AbstractOperation;
                   import mx.rpc.events.FaultEvent;
                   import mx.rpc.soap.LoadEvent;
                   import mx.rpc.events.ResultEvent;
                   import mx.rpc.soap.WebService;
                   [Bindable] public var flightData:ArrayCollection;
        private var flightWS:WebService;
         private function initApp():void{
              flightWS = new WebService();
              flightWS.wsdl = "http://uscib20.wdf.sap.corp:50021/sap/bc/soap/wsdl11?services=ZGTEST&sap-client=000";
            flightWS.addEventListener(FaultEvent.FAULT,onWSError);
              flightWS.addEventListener(LoadEvent.LOAD,onWSDLLoaded);
             flightWS.addEventListener(ResultEvent.RESULT,onFlightWSGotResult);
              flightWS.loadWSDL();
    private function getData():void{
              var operation:AbstractOperation = flightWS.getOperation("ZGTEST");
              var input:Object = new Object();
              input.Airline = txtAirline.text.toUpperCase();
              operation.arguments = input;
              operation.send();
         private function onWSError  (event:FaultEvent):void{
         private function onWSDLLoaded(event:LoadEvent):void{
              btnGetData.enabled = true;
         private function onFlightWSGotResult(event:ResultEvent):void{
              flightData = event.result.SFLIGHT;
              ]]>
         </mx:Script>
    </mx:Application>
    Regards,
    Vinoth

  • Employee details in SAP ABAP Hr

    hi folks,
    do any one hav done Report -Employee details in SAP ABAP Hr.

    check this code
    *                        INFOTYPES                             *
    INFOTYPES : 0000,     " Actions
                0001,     " Organizaiton Assignment
                0002,     " Personnel Data
                0008,     " Basic Pay
                0022,     " Education
                0025,     " Appraisals
                0077,     " Additional Personal Data
                2001,     " Absences
                9002,     " Additional Personal Data
                9545,     " Discipline data
                0000 NAME INT_PROM,
                0000 NAME INT_CHGPY,
                0302.
    *                        INCLUDES                             *
    *                        TABLES                                *
    TABLES    : PERNR.
    *                        CONSTANTS                             *
    CONSTANTS : C_ONE      TYPE CHAR1  VALUE '1',
                C_EARLY    TYPE CHAR1  VALUE 'E',
                C_NEW      TYPE CHAR1  VALUE 'N',
                C_EARLYDT  TYPE SY-DATUM VALUE '20000501',
                C_JAN      TYPE CHAR2  VALUE '01',
                C_FEB      TYPE CHAR2  VALUE '02',
                C_MAR      TYPE CHAR2  VALUE '03',
                C_AWL      TYPE CHAR3  VALUE 'AWL',
                C_LWP      TYPE CHAR3  VALUE 'LWP'.
    *                        TYPES                                 *
    TYPE-POOLS: SLIS.                      " ALV Type Pool
    TYPES  :
             BEGIN OF T_DISCACT,
               PERNR  TYPE CHAR8,
               COMM1  TYPE CHAR1,
               DESCRI TYPE CHAR40,
               COMM2  TYPE CHAR1,
               MDATE  TYPE CHAR10,
             END OF T_DISCACT,
             BEGIN OF T_INCRE,
               PERNR  TYPE CHAR8,
               INCR1 TYPE CHAR10,
               INCR2 TYPE CHAR10,
               INCR3 TYPE CHAR10,
             END OF T_INCRE,
             BEGIN OF T_OUTPUT,
               PERNR TYPE CHAR8,
               NAME  TYPE CHAR40,
               DESIG TYPE CHAR40,
               PESUB TYPE CHAR15,
               ORGUN TYPE CHAR40,
               COSTC TYPE CHAR20,
               ETHIC TYPE CHAR2,
               CPCODE TYPE ZCCODE,
               GRADE TYPE CHAR8,
               ***   TYPE CHAR6,
               DOB   TYPE CHAR10,
               DOJ   TYPE CHAR10,
               QUAL1 TYPE CHAR30,
               QUAL2 TYPE CHAR30,
               QUAL3 TYPE CHAR30,
               QUAL4 TYPE CHAR30,
               QUAL5 TYPE CHAR30,
               LPROM TYPE CHAR10,
               PROMD TYPE CHAR10,
               PROMT TYPE CHAR1,
               NOYRS TYPE CHAR2,
               AWL   TYPE CHAR9,
               LWP   TYPE CHAR9,
               APPR1 TYPE CHAR9,
               APPR2 TYPE CHAR9,
               APPR3 TYPE CHAR9,
               APPR4 TYPE CHAR9,
               APPR5 TYPE CHAR9,
               DISCI TYPE CHAR57,
             END   OF T_OUTPUT.
    DATA : W_OUTPUT TYPE T_OUTPUT.
    TYPES  :  BEGIN OF T_FILE.
            INCLUDE STRUCTURE W_OUTPUT.
    TYPES  :   INCR1 TYPE CHAR10,
               INCR2 TYPE CHAR10,
               INCR3 TYPE CHAR10,
              END OF T_FILE.
    DATA  : W_FILE TYPE T_FILE.
    TYPES : BEGIN  OF T_EXCEL.
            INCLUDE STRUCTURE W_FILE.
    TYPES :  END OF T_EXCEL.
    *                        INTERNAL TABLES                       *
    DATA   : INT_NONEXE  TYPE STANDARD TABLE OF ZHRT007   WITH HEADER LINE,
             INT_OUTPUT  TYPE STANDARD TABLE OF T_OUTPUT  WITH HEADER LINE,
             INT_DISCACT TYPE STANDARD TABLE OF T_DISCACT WITH HEADER LINE,
             INT_QUALFI  TYPE STANDARD TABLE OF T518B     WITH HEADER LINE,
             INT_INCRE   TYPE STANDARD TABLE OF T_INCRE   WITH HEADER LINE,
             INT_DISCIP  TYPE STANDARD TABLE OF ZHRT004   WITH HEADER LINE,
             INT_PESUB   TYPE STANDARD TABLE OF T001P     WITH HEADER LINE,
             INT_COSTC   TYPE STANDARD TABLE OF CSKT      WITH HEADER LINE,
             INT_EXCEL   TYPE STANDARD TABLE OF T_EXCEL   WITH HEADER LINE,
             EVENT       TYPE SLIS_T_EVENT WITH HEADER LINE,
             LISTHEAD    TYPE SLIS_T_LISTHEADER WITH HEADER LINE.
    *                        VARIABLES                             *
    DATA : W_HIREDATE TYPE BEGDA,
           W_WAGEGRP  TYPE TRFGR,
           W_CPCODE   TYPE ZCCODE,
           W_CAREERCD TYPE CHAR6,
           W_PROMTYPE TYPE ZTSTYPE,
           W_NOOFYRS  TYPE ZNOYRS,
           W_LASTPROM TYPE CHAR10,
           W_PROMDATE TYPE BEGDA,
           W_YEAR     TYPE CHAR4,
           W_APYEAR   TYPE CHAR4,
           W_APPRST   TYPE SY-DATUM,
           W_DISDATE  TYPE ENDDA,
           W_APPREND  TYPE ENDDA,
           W_ABSST    TYPE ENDDA,
           W_ABSEND   TYPE ENDDA,
           W_ABSYR    TYPE CHAR4,
           W_MONTH(2) TYPE N,
           W_AWL      TYPE CHAR9,
           W_LWP      TYPE CHAR9,
           W_DISCI    TYPE T_OUTPUT-DISCI,
           W_ONE(2)   TYPE N VALUE '01',
           W_CURDATE TYPE CHAR10,
           W_HEADING TYPE LVC_TITLE.
    *                        SELECTION SCREEN                      *
    SELECTION-SCREEN BEGIN OF BLOCK FRM1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS:
      S_WAGRP    FOR  P0008-TRFGR OBLIGATORY,
      S_FROM     FOR  P0000-BEGDA OBLIGATORY NO-EXTENSION.
    SELECTION-SCREEN END OF BLOCK FRM1.
    * Selection screen serach help for wage groups.
    INCLUDE : ZHRI0003.
    *                        AT SELECTION SCREEN                   *
    *                        START OF SELECTION                    *
    START-OF-SELECTION.
      PERFORM PU_EXEUTIVES_PROM.
      IF S_FROM-HIGH IS INITIAL.
        S_FROM-HIGH = SY-DATUM.
      ENDIF.
    *Fetching employee data for all infotypes.
    GET PERNR.
      PERFORM  PU_DATA_RETRIEVAL.
    *                        START OF SELECTION                    *
    END-OF-SELECTION.
      PERFORM PU_FINAL_TABLE.
      PERFORM PU_GRID_DISPLAY.
      PERFORM PU_FREE_TABLES.
    *                        SUBROUTINES                           *
    *&      Form  PU_DATA_RETRIEVAL
    FORM PU_DATA_RETRIEVAL .
    * To find out date of join for employee
      PERFORM PU_DATA_OF_JOIN.
    * Employee Personnel data
      RP_PROVIDE_FROM_LAST P0002 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND NE C_ONE.
        REJECT.
      ENDIF.
    * Employee Name into output table
      INT_OUTPUT-NAME = P0002-VORNA.
    *  INT_OUTPUT-DOB  = P0002-GBDAT.
      PERFORM PU_DATE_CONVERSION USING    P0002-GBDAT
                                 CHANGING INT_OUTPUT-DOB.
      IF P0002-GESCH EQ 1.
        INT_OUTPUT-***  = 'Male'.
      ELSE.
        INT_OUTPUT-***  = 'Female'.
      ENDIF.
    * Fetching employees from employee sub goup of Non Executive
      RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND NE C_ONE.
        REJECT.
      ENDIF.
      IF P0001-PERSK  EQ '30' OR P0001-PERSK  EQ '20'.
    * Position for employee into output table
        PERFORM  PU_POSTION_TEXT.
      ELSE.
        REJECT.
      ENDIF.
    * Position for employee into output table
      PERFORM  PU_POSTION_TEXT.
    * Persoonel Sub Area text .
      READ TABLE INT_PESUB WITH KEY WERKS = P0001-WERKS
                                    BTRTL = P0001-BTRTL.
      IF SY-SUBRC EQ 0.
        INT_OUTPUT-PESUB = INT_PESUB-BTEXT.
      ENDIF.
      READ TABLE INT_COSTC WITH KEY KOSTL = P0001-KOSTL.
      IF SY-SUBRC EQ 0.
        INT_OUTPUT-COSTC = INT_COSTC-KTEXT.
      ENDIF.
    * Fetching employees from Additional Personal Data
      RP_PROVIDE_FROM_LAST P0077 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ C_ONE.
    * Ethnic origin of employee  into output table
        INT_OUTPUT-ETHIC = P0077-RACKY.
      ENDIF.
    * Selecting data from  basic pay last record with wage group
      RP_PROVIDE_FROM_LAST P0008 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND NE C_ONE.
        REJECT.
      ELSE.
        W_WAGEGRP = P0008-TRFGR.
    * Employee Pay Scale Group  into output table
        INT_OUTPUT-GRADE = P0008-TRFGR.
      ENDIF.
    * Selecting data from  Education with wage group
      SORT P0022 BY BEGDA.
      PROVIDE * FROM P0022 BETWEEN PN-BEGDA AND PN-ENDDA.
        IF SY-TABIX EQ 1.
          READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
          IF SY-SUBRC EQ 0.
            INT_OUTPUT-QUAL1 = INT_QUALFI-ATEXT.
          ENDIF.
        ELSEIF SY-TABIX EQ 2.
          READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
          IF SY-SUBRC EQ 0.
            INT_OUTPUT-QUAL2 = INT_QUALFI-ATEXT.
          ENDIF.
        ELSEIF SY-TABIX EQ 3.
          READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
          IF SY-SUBRC EQ 0.
            INT_OUTPUT-QUAL3 = INT_QUALFI-ATEXT.
          ENDIF.
        ELSEIF SY-TABIX EQ 4.
          READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
          IF SY-SUBRC EQ 0.
            INT_OUTPUT-QUAL4 = INT_QUALFI-ATEXT.
          ENDIF.
        ELSEIF SY-TABIX EQ 5.
          READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
          IF SY-SUBRC EQ 0.
            INT_OUTPUT-QUAL5 = INT_QUALFI-ATEXT.
          ENDIF.
        ENDIF.
      ENDPROVIDE.
    * Carrer path code for employee from Additional Personal Data.
      RP_PROVIDE_FROM_LAST P9002 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ C_ONE.
        W_CPCODE  = P9002-CPCODE.
        INT_OUTPUT-CPCODE = P9002-CPCODE.
        IF W_CPCODE EQ '001'.
          IF W_HIREDATE < C_EARLYDT.
            CONCATENATE W_CPCODE
                        C_EARLY
                  INTO  W_CAREERCD.
          ELSE.
            CONCATENATE W_CPCODE
                        C_NEW
                  INTO  W_CAREERCD.
          ENDIF.
        ELSE.
          W_CAREERCD = W_CPCODE.
        ENDIF.
      ENDIF.
    * Detrmine Promotion by Test/Service
      READ TABLE INT_NONEXE WITH KEY CPCODE    = W_CAREERCD
                                     WAGEGROUP = W_WAGEGRP.
      IF SY-SUBRC EQ 0.
        W_PROMTYPE = INT_NONEXE-TSTYPE.
        W_NOOFYRS  = INT_NONEXE-NOYRS.
        INT_OUTPUT-PROMT = W_PROMTYPE.
        INT_OUTPUT-NOYRS = W_NOOFYRS.
      ENDIF.
    * Retriving last promotion date from actions
      DELETE INT_PROM WHERE MASSN NE 'B3'.
      SORT INT_PROM BY BEGDA DESCENDING.
    *  RP_PROVIDE_FROM_LAST INT_PROM SPACE PN-BEGDA PN-ENDDA.
      READ TABLE INT_PROM INDEX 1.
      IF SY-SUBRC EQ 0 AND INT_PROM-MASSN EQ 'B3'.
        PERFORM PU_DATE_CONVERSION USING  INT_PROM-BEGDA
                                 CHANGING W_LASTPROM.
      ELSE.
        PERFORM PU_DATE_CONVERSION USING  W_HIREDATE
                                   CHANGING W_LASTPROM.
      ENDIF.
    *  As there is no ending date for records which happen on same date
    *  for cross check to get last promotion Infotype 0302' is retived
      IF P0302[] IS NOT INITIAL.
        DELETE P0302 WHERE MASSN NE 'B3'.
        SORT  P0302 BY BEGDA DESCENDING.
        READ TABLE P0302 INDEX 1.
        IF SY-SUBRC EQ 0 AND
           INT_PROM-BEGDA IS NOT INITIAL.
          IF INT_PROM-BEGDA < P0302-BEGDA.
            PERFORM PU_DATE_CONVERSION USING  P0302-BEGDA
                                     CHANGING W_LASTPROM.
          ENDIF.
        ENDIF.
      ENDIF.
      IF W_LASTPROM+0(2) GT '01'.
        W_LASTPROM+0(2) = '01'.
        W_ONE = W_LASTPROM+3(2) + 1.
        W_LASTPROM+3(2) =  W_ONE.
      ENDIF.
    * Last promaotion date for Employee into output table
      INT_OUTPUT-LPROM =  W_LASTPROM.
    * To Find out promotion due date for employee.
    * Fetching service availabilty data
      W_YEAR     =  W_LASTPROM+6(4).
      W_YEAR     =  W_YEAR + W_NOOFYRS.
      CONCATENATE  W_YEAR
                     W_LASTPROM+3(2)
                   W_LASTPROM+0(2)
              INTO W_PROMDATE.
    * Check promotion duedate is with in input range.
      IF S_FROM-LOW IS NOT INITIAL.
        CHECK W_PROMDATE GE S_FROM-LOW.
      ENDIF.
      IF S_FROM-HIGH IS NOT INITIAL.
        CHECK W_PROMDATE LE S_FROM-HIGH.
      ENDIF.
    * Promaotion due date for Employee into output table
      PERFORM PU_DATE_CONVERSION USING    W_PROMDATE
                                 CHANGING INT_OUTPUT-PROMD.
    * Apprisal rating data.
    * If promotion month is JAN,FEB,MAR deduct 6 years
      IF W_PROMDATE+4(2) EQ C_JAN OR
         W_PROMDATE+4(2) EQ C_FEB OR
         W_PROMDATE+4(2) EQ C_MAR.
        CLEAR W_YEAR.
        W_YEAR   = W_PROMDATE+0(4).
        W_APYEAR = W_YEAR - 1.
        W_YEAR   = W_YEAR - 6.
      ELSE.
    * If promotion month is not JAN,FEB,MAR deduct 5 years
        W_YEAR   = W_PROMDATE+0(4).
        W_APYEAR = W_YEAR.
        W_YEAR   = W_YEAR - 5.
      ENDIF.
      CONCATENATE  W_YEAR
                   '0401'
              INTO W_APPRST.
      CONCATENATE  W_APYEAR
                   '0331'
              INTO W_APPREND.
      DELETE P0025 WHERE BEGDA LT W_APPRST
                      OR BEGDA GT W_APPREND.
      PROVIDE * FROM P0025 BETWEEN PN-BEGDA AND PN-ENDDA.
        IF SY-TABIX EQ 1.
          INT_OUTPUT-APPR1 = P0025-KSU01.
        ELSEIF SY-TABIX EQ 2.
          INT_OUTPUT-APPR2 = P0025-KSU01.
        ELSEIF SY-TABIX EQ 3.
          INT_OUTPUT-APPR3 = P0025-KSU01.
        ELSEIF SY-TABIX EQ 4.
          INT_OUTPUT-APPR4 = P0025-KSU01.
        ELSEIF SY-TABIX EQ 5.
          INT_OUTPUT-APPR5 = P0025-KSU01.
        ENDIF.
      ENDPROVIDE.
    * Absence data.
      IF W_PROMDATE+4(2) EQ C_JAN.
        CLEAR W_YEAR.
        W_YEAR   = W_PROMDATE+0(4).
        W_ABSYR  = W_YEAR - 1.
        W_MONTH  = '11'.
        W_YEAR   = W_YEAR - 2.
      ELSE.
    * If promotion month is not JAN,FEB,MAR deduct 5 years
        W_YEAR   = W_PROMDATE+0(4).
        W_ABSYR  = W_YEAR.
        W_MONTH  = W_PROMDATE+4(2).
        W_MONTH  = W_MONTH - 01.
        W_YEAR   = W_YEAR - 1.
      ENDIF.
      CONCATENATE W_YEAR
                  W_MONTH
                  '23'
             INTO W_ABSST.
      CONCATENATE  W_ABSYR
                   W_MONTH
                   '22'
              INTO W_ABSEND.
      SORT   P2001 BY BEGDA.
      DELETE P2001 WHERE ( AWART NE C_AWL AND
                           AWART NE C_LWP )  OR
                         ( BEGDA LT W_ABSST
                     OR    BEGDA GT W_ABSEND ).
      PROVIDE * FROM P2001 BETWEEN PN-BEGDA AND PN-ENDDA.
        IF P2001-AWART  EQ  C_AWL.
          W_AWL = W_AWL + P2001-ABWTG.
        ELSEIF P2001-AWART  EQ  C_LWP.
          W_LWP = W_LWP + P2001-ABWTG.
        ENDIF.
      ENDPROVIDE.
      INT_OUTPUT-AWL = W_AWL.
      INT_OUTPUT-LWP = W_LWP.
    * Increments dates' data.
      DELETE INT_CHGPY WHERE MASSN NE 'B7'.
      SORT   INT_CHGPY BY BEGDA DESCENDING.
      IF INT_CHGPY[] IS NOT INITIAL.
        INT_INCRE-PERNR = INT_CHGPY-PERNR.
        PROVIDE * FROM INT_CHGPY  BETWEEN PN-BEGDA
                                      AND PN-ENDDA.
          IF SY-TABIX EQ 1.
            PERFORM PU_DATE_CONVERSION USING    INT_CHGPY-BEGDA
                                       CHANGING INT_INCRE-INCR1.
          ELSEIF SY-TABIX EQ 2.
            PERFORM PU_DATE_CONVERSION USING    INT_CHGPY-BEGDA
                                       CHANGING INT_INCRE-INCR2.
          ELSEIF SY-TABIX EQ 3.
            PERFORM PU_DATE_CONVERSION USING    INT_CHGPY-BEGDA
                                       CHANGING INT_INCRE-INCR3.
          ENDIF.
        ENDPROVIDE.
        APPEND INT_INCRE.
        CLEAR  INT_INCRE.
      ENDIF.
    * Disciplinary Actions.
      CLEAR W_YEAR.
      W_YEAR = W_PROMDATE+0(4).
      W_YEAR = W_YEAR - 3.
      CONCATENATE  W_YEAR
                   W_PROMDATE+4(4)
              INTO W_DISDATE.
      SORT P9545 BY MDATE.
      DELETE P9545 WHERE MDATE LT W_DISDATE
                      OR MDATE GT W_PROMDATE.
      PROVIDE * FROM P9545 BETWEEN PN-BEGDA
                              AND  PN-ENDDA.
        READ TABLE INT_DISCIP WITH KEY MCODE = P9545-MCODE.
        IF SY-SUBRC EQ 0.
          INT_DISCACT-PERNR  = P9545-PERNR.
          INT_DISCACT-DESCRI = INT_DISCIP-DESCRI.
          PERFORM PU_DATE_CONVERSION USING    P9545-MDATE
                                     CHANGING INT_DISCACT-MDATE.
          INT_DISCACT-COMM1 = ','.
          INT_DISCACT-COMM2 = ','.
          APPEND INT_DISCACT.
          CLEAR  INT_DISCACT.
        ENDIF.
      ENDPROVIDE.
      APPEND INT_OUTPUT.
      CLEAR INT_OUTPUT.
      CLEAR : W_HIREDATE,W_WAGEGRP,W_CPCODE,W_CAREERCD,W_PROMTYPE,
              W_NOOFYRS,W_LASTPROM,W_PROMDATE,W_YEAR,W_APYEAR,
              W_APPRST,W_DISDATE,W_APPREND,W_ABSST,W_ABSEND,
              W_ABSYR,W_MONTH,W_AWL,W_LWP,W_DISCI.
    ENDFORM.                    " PU_DATA_RETRIEVAL
    *&      Form  PU_DATA_OF_JOIN
    FORM PU_DATA_OF_JOIN .
      CLEAR INT_OUTPUT.
      READ TABLE P0000 WITH KEY  MASSN = 'B1'.
      IF SY-SUBRC NE 0 OR  P0000-STAT2 NE '3'.
        REJECT.
      ELSE.
    * Personnel number into output table
        INT_OUTPUT-PERNR = P0000-PERNR.
        PERFORM PU_DATE_CONVERSION USING P0000-BEGDA
                                CHANGING INT_OUTPUT-DOJ.
        W_HIREDATE = P0000-BEGDA.
      ENDIF.
    ENDFORM.                    " PU_DATA_OF_JOIN
    *&      Form  PU_POSTION_TEXT
    FORM PU_POSTION_TEXT .
      DATA  : S_OBJECT TYPE OBJEC_T,
              PERNR_TAB  TYPE HRQUERY_PERNR_T ,
              SOBID_TAB  TYPE HRQUERY_SOBID_T ,
              WA_SOBID TYPE HRQUERY_SOBID,
              WA_PERNR TYPE HRQUERY_PERNR,
              WA_OBJECT TYPE OBJEC.
      WA_PERNR-PERNR = P0001-PERNR.
      APPEND WA_PERNR TO PERNR_TAB.
      WA_SOBID-PLVAR = '01'.
      WA_SOBID-OTYPE = P0001-OTYPE.
      WA_SOBID-SOBID = P0001-PLANS.
      APPEND WA_SOBID TO SOBID_TAB.
      WA_SOBID-PLVAR = '01'.
      WA_SOBID-OTYPE = 'O'.
      WA_SOBID-SOBID = P0001-ORGEH.
      APPEND WA_SOBID TO SOBID_TAB.
      CALL FUNCTION 'HR_GET_TEXT_FOR_OBJECTS'
        EXPORTING
          BEGDA       = PN-BEGDA
          ENDDA       = PN-ENDDA
        IMPORTING
          OBJEC_TAB   = S_OBJECT
        CHANGING
          PERNR_TAB   = PERNR_TAB
          SOBID_TAB   = SOBID_TAB
        EXCEPTIONS
          WRONG_DATES = 1
          OTHERS      = 2.
      IF SY-SUBRC EQ 0.
        LOOP AT S_OBJECT INTO WA_OBJECT.
          IF WA_OBJECT-OTYPE EQ 'O'.
            INT_OUTPUT-ORGUN = WA_OBJECT-STEXT.
          ELSEIF  WA_OBJECT-OTYPE EQ 'S'.
            INT_OUTPUT-DESIG = WA_OBJECT-STEXT.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " PU_POSTION_TEXT
    *&      Form  PU_EXEUTIVES_PROM
    FORM PU_EXEUTIVES_PROM .
      SELECT * FROM ZHRT007 INTO TABLE INT_NONEXE.
      SELECT * FROM ZHRT004 INTO TABLE INT_DISCIP.
      SELECT * FROM T001P   INTO TABLE INT_PESUB.
      SELECT * FROM CSKT    INTO TABLE INT_COSTC
                                 WHERE SPRAS EQ SY-LANGU.
      SELECT * FROM T518B   INTO TABLE INT_QUALFI
                                 WHERE LANGU EQ SY-LANGU.
    ENDFORM.                    " PU_EXEUTIVES_PROM
    *&      Form  PU_DATE_CONVERSION
    FORM PU_DATE_CONVERSION  USING    INPUT_DATE    TYPE SY-DATUM
                             CHANGING OUTPUT_DATE   TYPE CHAR10.
      CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
        EXPORTING
          DATE_INTERNAL            = INPUT_DATE
        IMPORTING
          DATE_EXTERNAL            = OUTPUT_DATE
        EXCEPTIONS
          DATE_INTERNAL_IS_INVALID = 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.                    " PU_DATE_CONVERSION
    *&      Form  PU_FINAL_TABLE
    * Preparing final internal table for output to excel
    FORM PU_FINAL_TABLE .
      DATA : W_STR1(4)  TYPE N,
             W_STR2(4)  TYPE N,
             W_STR3(4)  TYPE N,
             W_EXSTR(4) TYPE N,
             W_ORSTR(4) TYPE N,
             W_INSTR(4) TYPE N,
             W_ONSTR(4) TYPE N,
             W_DISFLAG  TYPE CHAR1,
             W_INCFLAG  TYPE CHAR1.
      LOOP AT INT_OUTPUT.
        MOVE-CORRESPONDING INT_OUTPUT TO INT_EXCEL.
        LOOP AT INT_DISCACT WHERE PERNR = INT_OUTPUT-PERNR.
          IF SY-TABIX EQ 1.
            CONCATENATE INT_DISCACT-DESCRI
                         SPACE
                        INT_DISCACT-MDATE
                   INTO W_DISCI.
            INT_EXCEL-DISCI = W_DISCI.
          ELSE.
            W_DISFLAG = 1.
          ENDIF.
        ENDLOOP.
        LOOP AT INT_INCRE WHERE PERNR = INT_OUTPUT-PERNR.
          INT_EXCEL-INCR1 =  INT_INCRE-INCR1.
          INT_EXCEL-INCR2 =  INT_INCRE-INCR2.
          INT_EXCEL-INCR3 =  INT_INCRE-INCR3.
        ENDLOOP.
        APPEND INT_EXCEL.
        CLEAR  INT_EXCEL.
        CLEAR : W_STR1,W_STR2,W_STR3.
        IF W_DISFLAG EQ 1.
          W_ORSTR = W_EXSTR.
          LOOP AT INT_DISCACT WHERE PERNR = INT_OUTPUT-PERNR.
            IF SY-TABIX NE 1.
              CONCATENATE INT_DISCACT-DESCRI
                           SPACE
                          INT_DISCACT-MDATE
                     INTO W_DISCI.
              INT_EXCEL-DISCI = W_DISCI.
              APPEND INT_EXCEL.
              CLEAR  INT_EXCEL.
              CLEAR : W_STR2,W_EXSTR.
            ENDIF.
          ENDLOOP.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " PU_FINAL_TABLE
    *&      Form  PU_GRID_DISPLAY
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM PU_GRID_DISPLAY .
      DATA W_GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
      PERFORM F_FIELDCAT_INIT USING 'IT_HEADER' W_GT_FIELDCAT[].
      IF INT_EXCEL[] IS NOT INITIAL.
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
            I_CALLBACK_PROGRAM = SY-CPROG
            IT_FIELDCAT        = W_GT_FIELDCAT[]
            IT_EVENTS          = EVENT[]
          TABLES
            T_OUTTAB           = INT_EXCEL
          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.
      ELSE.
        MESSAGE S011(ZHR).
        LEAVE LIST-PROCESSING.
      ENDIF.
    ENDFORM.                    " PU_GRID_DISPLAY
    *&      Form  F_FIELDCAT_INIT
    FORM F_FIELDCAT_INIT USING IT_TABLE
                               LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
      DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'PERNR'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 14.
      LS_FIELDCAT-SELTEXT_L = 'Personnel Number'.
      LS_FIELDCAT-FIX_COLUMN = 'X'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'NAME'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 30.
      LS_FIELDCAT-SELTEXT_L    = 'Name'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'DESIG'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 25.
      LS_FIELDCAT-SELTEXT_L    = 'Desigination'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'PESUB'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 16.
      LS_FIELDCAT-SELTEXT_L    = 'Personnel Sub Area'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ORGUN'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 25.
      LS_FIELDCAT-SELTEXT_L    = 'Organization Unit'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'COSTC'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 14.
      LS_FIELDCAT-SELTEXT_L    = 'Cost Center'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ETHIC'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 6.
      LS_FIELDCAT-SELTEXT_L    = 'Ethic'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'CPCODE'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 7.
      LS_FIELDCAT-SELTEXT_L    = 'CPCode'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'GRADE'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    =  12.
      LS_FIELDCAT-SELTEXT_L    = 'Current Grade'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = '***'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 6.
      LS_FIELDCAT-SELTEXT_L    = 'Gender'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'DOB'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 11.
      LS_FIELDCAT-SELTEXT_L    = 'Date of Birth'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'DOJ'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 11.
      LS_FIELDCAT-SELTEXT_L    = 'Date of Join'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'QUAL1'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 13.
      LS_FIELDCAT-SELTEXT_L    = 'Qualification 1'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'QUAL2'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 13.
      LS_FIELDCAT-SELTEXT_L    = 'Qualification 2'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'QUAL3'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 13.
      LS_FIELDCAT-SELTEXT_L    = 'Qualification 3'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'QUAL4'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 13.
      LS_FIELDCAT-SELTEXT_L    = 'Qualification 4'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'QUAL5'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 13.
      LS_FIELDCAT-SELTEXT_L    = 'Qualification 5'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'LPROM'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 16.
      LS_FIELDCAT-SELTEXT_L    = 'Last Promotion Date'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'PROMD'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 16.
      LS_FIELDCAT-SELTEXT_L    = 'Promotion Due Date'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'PROMT'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 14.
      LS_FIELDCAT-SELTEXT_L    = 'Promotion Type'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'NOYRS'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = 'Number of Years'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'AWL'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 22.
      LS_FIELDCAT-SELTEXT_L    = 'Absence Without Leave'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'LWP'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 22.
      LS_FIELDCAT-SELTEXT_L    = 'Leave Without Pay'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'APPR1'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = 'Apprisal 1st'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'APPR2'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = 'Apprisal 2nd'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'APPR3'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = 'Apprisal 3rd'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'APPR4'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = 'Apprisal 4th'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'APPR5'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = 'Apprisal 5th'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'DISCI'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 60.
      LS_FIELDCAT-SELTEXT_L    = 'Disciplinary Actions - Date'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'INCR1'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = '1st Increment'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'INCR2'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = '2nd Increment'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'INCR3'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = '3rd Increment'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
    ENDFORM.                    " F_FIELDCAT_INIT
    *&      Form  PU_FREE_TABLES
    FORM PU_FREE_TABLES .
      FREE :  INT_NONEXE  ,
              INT_OUTPUT  ,
              INT_DISCACT ,
              INT_QUALFI  ,
              INT_INCRE   ,
              INT_DISCIP  ,
              INT_PESUB   ,
              INT_COSTC   ,
              INT_EXCEL   ,
              EVENT       ,
              LISTHEAD    .
    ENDFORM.                    " PU_FREE_TABLES
    reward points if helpful
    Edited by: mohammed  abdul hai on Jul 25, 2008 7:21 PM

  • XI triggers an event in SAP

    Hi experts,
    Does anybody of you know the necessary steps to make the XI trigger an event in SAP R3??
    I have a file to file scenario and i would like XI to trigger a function in R3 once the file is delivered in any target folder. I think the best way is using events but not pretty sure.
    Aditionally, R3 runs over SunOS and so XI.
    Any clues?
    Best regards,
    David

    Hi David,
    Yes, no mapping is required.
    IR - you need to create a Message Interface (inbound) with the same Message Type that you are using in Message Interface (outbound). Afterwards, go to ID and change your Receiver Determination in order to use your SAP Business System (You should have this Technical and Business Sys in your SLD, import it to ID environment. If is not there apply this blog /people/michal.krawczyk2/blog/2005/03/10/registering-a-new-technical-system-in-sld--abap-based
    Then, go to your SAP sys t-code SPROXY > Goto > Connection Test, and perform the 4 tests. You need to check if your Business System SAP ERP is configured for ABAP proxy connection with XI. If not apply this blog: How do you activate ABAP Proxies? /people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies
    For your developments, check this as well:
    File to R/3 via ABAP Proxy
    /people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy
    ABAP server Proxies
    /people/siva.maranani/blog/2005/04/03/abap-server-proxies
    If you have problems, let me know
    Cheers,
    Ricardo.

  • Sap-abap faq's

    hi,
      i want abap faq's which is used to face an interview, please help me, the different types of questions asked in the interview. please send an attachment to my mail my mail id is [email protected]
    thanks and regards
    chandra sekhar.

    1. How data is stored in cluster table?
    Each field of cluster table behaves as tables which contains the no. of entries.
    2. What are client dependant objects in abap/sap?
    SAP Script layout, text element, and some DDIC objects.
    3. On which even we can validate the input fields in module progams?
    In PAI (Write field statement on field you want to validate, if you want to validate group of fields put in chain and End chain statement.)
    4. In selection screen I have three fields, plant mat no and material group. If I input plant how do I get the mat no and material group based on plant dynamically?
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR MATERIAL.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' to get material and material group for the plant.
    5. How do you get output from IDOC?
    Data in IDOc is stored in segments, the output from Idoc is obtained by reading the data stored in its respective segments.
    6. When top of the page event is triggered?
    After excuteing first write statement in start-of-selection event.
    7. Can we create field without data element and how?
    In SE11 one option is available above the fields strip. Data element/ direct type.
    8. How do we debug sapscript?
    Go to SE71 give lay set name , go to utilities select debugger mode on.
    9. Which transaction code can I used to analyze the performance of ABAP program.
    TCode AL21.
    10. How can I copy a standard table to make my own z_table.
    Go to transaction SE11. Then there is one option to copy table. Press that button. Enter the name of the standard table and in the Target table enter Z table name and press enter.
    Following are some of the answers which I gave upto my knowledge.
    1. What is the use of 'outerjoin'
    Ans. With the use of outer join you can join the tables even there is no entry in all the tables used in the view.
    In case of inner join there should be an entry in al the tables use in the view.
    2. When to use logical database?
    Ans. Advantage of Logical databases:
    less coding s required to retrieve data compared to normal internel tables.
    Tables used LDB are in hierarchial structure.
    3. What is the use of 'table index'?
    Ans .Index is used for faster access of data base tables.
    4. What is the use of 'FOR ALL ENTRIES'?
    Ans. To avoid nested select statements we use SELECT FOR ALL ENTRIES statement.
    If there r more than 10000 records SELECT FOR ALL ENTRIES is used.
    Performance wise SELECT FOR ALL ENTRIES is better to use.
    5. Can you set up background processing using CALL TRANSACTION?
    Yes,Using No Screen Mode.
    6. What are table buffers?
    Table buffers reside locally on each application server in the system. The data of buffered tables can thus be accessed
    directly from the buffer of the application server. This avoids the time-consuming process of accessing the database.
    Buffering is useful if table needs to be accessed more no. of times in a program.
    ABAP Technical Interview Questions:
    1. What is the typical structure of an ABAP program?
    2. What are field symbols and field groups.? Have you used "component idx of structure" clause with field groups?
    3. What should be the approach for writing a BDC program?
    4. What is a batch input session?
    5. What is the alternative to batch input session?
    6. A situation: An ABAP program creates a batch input session. We need to submit the program and the batch session in background. How to do it?
    7. What is the difference between a pool table and a transparent table and how they are stored at the database level?
    8. What are the problems in processing batch input sessions? How is batch input process different from processing on line?
    9. What do you define in the domain and data element?
    10. What are the different types of data dictionary objects?
    11. How many types of tables exist and what are they in data dictionary?
    12. What is the step-by-step process to create a table in data dictionary?
    13. Can a transparent table exist in data dictionary but not in the database physically?
    14. What are the domains and data elements?
    15. Can you create a table with fields not referring to data elements?
    16. What is the advantage of structures? How do you use them in the ABAP programs?
    17. What does an extract statement do in the ABAP program?
    18. What is a collect statement? How is it different from append?
    19. What is open sql vs native sql?
    20. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?
    21. What is the meaning of ABAP editor integrated with ABAP data dictionary?
    22. What are the events in ABAP language?
    23. What is an interactive report? What is the obvious diff of such report compared with classical type reports?
    24. What is a drill down report?
    25. How do you write a function module in SAP? Describe.
    26. What are the exceptions in function module?
    27. What is a function group?
    28. How are the date abd time field values stored in SAP?
    29. What are the fields in a BDC_Tab Table?
    30. Name a few data dictionary objects?
    31. What happens when a table is activated in DD?
    32. What is a check table and what is a value table?
    33. What are match codes? Describe?
    34. What transactions do you use for data analysis?
    35. What is table maintenance generator?
    36. What are ranges? What are number ranges?
    37. What are select options and what is the diff from parameters?
    38. How do you validate the selection criteria of a report? And how do you display initial values in a selection screen?
    39. What are selection texts?
    40. What is CTS and what do you know about it?
    41. When a program is created and need to be transported to prodn does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? How do you do it?
    42. What is the client concept in SAP? What is the meaning of client independent?
    43. Are programs client dependent?
    44. Name a few system global variables you can use in ABAP programs?
    45. What are internal tables? How do you get the number of lines in an internal table? How to use a specific number occurs statement?
    46. How do you take care of performance issues in your ABAP programs?
    47. What are datasets?
    48. How to find the return code of a stmt in ABAP programs?
    49. What are interface/conversion programs in SAP?
    50. Have you used SAP supplied programs to load master data?
    2. Adapted from response by Maram Roja on Tuesday, June 15, 2004
    1. What are the techniques involved in using SAP supplied programs? Do you prefer to write your own programs to load master data? Why?
    2. What are logical databases? What are the advantages/disadvantages of logical databases?
    3. What specific statements do you using when writing a drill down report?
    4. What are different tools to report data in SAP? What all have you used?
    5. What are the advantages and disadvantages of ABAP query tool?
    6. What are the functional areas? User groups? How does ABAP query work in relation to these?
    7. Is a logical database a requirement/must to write an ABAP query?
    8. What is the structure of a BDC sessions.
    9. What are Change header/detail tables? Have you used them?
    10. What do you do when the system crashes in the middle of a BDC batch session?
    11. What do you do with errors in BDC batch sessions?
    12. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?
    13. Is it possible to run host command from SAP environment? How do you run?
    14. What kind of financial periods exist in SAP? What is the relevant table for that?
    15. Does SAP handle multiple currencies? Multiple languages?
    16. What is a currency factoring technique?
    17. How do you document ABAP programs? Do you use program documentation menu option?
    18. What is SAPscript and layout set?
    19. What are the ABAP commands that link to a layout set?
    20. What is output determination?
    ABAP Interview Questions
    1.Without using Tcode SE11, How can we enter the values in to the table???
    2.What is the difference between Collect statement and Append Statement???
    3.What do you mean by correction and Transportation system???
    4.What is the difference between User Exits and BADI????
    5.How can we identify User exits in our screen???
    6.What do you mean by Inbound and Outbound interface???
    7.In realtime do we configure ALE systems or Administator will take care of that??
    8.How to release an object???
    9.What is the flow of a Sales document???
    10.What is the flow of Purchase order???
    12.What is the flow of Invoice???
    13.What are the standard IDOC's used???
    14.What do you mean by table control???Where will we use this???
    15.What are field symbols??Where will we use these symbols???
    Deepti
    1. There are other ways of entering data into a DB table. ex. B D C
    2. Collect statement collect/adds the records basing on a key field. allows to create summarised data sets.
    Append will append/add a record at the end of existing records
    8. to release an object - use se10/se9
    9. sales doc flow: S. A. - S. O. - Delivery - Billing
    12. Delivery - invoice.
    15. field symbols are used for dynamic allocation. at runtime u can assign a concrete field to field-symbol.
    Kishore
    1. you can go to abap editor (se38) and use insert statement for insertion update for update and modify for modifications.
    2. collect will not allow duplicate entries, while append can allow duplicates.
    3. if any changes are made to objects they are to be transported to different systems i.e, change and transport.
    4. in user exits we go by general method for enhancements while BADIs we use objects (oops concepts)
    methods for enhancement.
    14. table controls are enhanced version for step loops where we can expand rows .main difference between these two
    is step loop can be expanded to two lines table controls can`t.
    15. field symbols are just like pointers concept which are used in C language. We use them when we want to refer to
    the fields considered,it doesnt allocate any memory for it.
    Venu Rapolu
    1. Ans: Using BDC., LSMW,,ALE., BAPI
    2. Ans: Collect: it adds the numeric fields to the existing non numeric key field records., thereby avoiding duplicate
    values., and append will simply adds the record
    3 . Ans: The CTS contains work bench organizer and transport system :
    The workbench organizer is used to record and contol changes to the ABAP/4 development objects;
    The transport system is used to move objects from an SAP dev.system to production system
    6. Ans: Outbound interface is used to send IDocs to the ALE server.,
    Inbound interface is used to Analyse the received Idoc.
    7. Ans: We (ABAPers) don't do.
    8. Ans: se09 or se10
    13. Ans: MATMAS
    CREMAS
    DEBMAS
    GLMAST etc...
    14. Ans: to display records in table format., we use in Screens
    15. Ans: we assign the field content at run time with ASSIGN stmt.
    Satish D
    1. goto se16 u can view the table contents
    2. collect will collects all the numeric fields of nonnumeric field values
    append will append record at the end of table
    3. when we are creatiing new task like dev. a new prg.. after completion of dev. that will be trnsported to testing system or production system to do that we are assigning an
    transport request from our dev.class(system) by using se09
    4. badis are dev. by class and inheritence methods where as user exitsdev by SAP only and empty shells filled wit user logic
    5. go to system then status
    6. outbound generating an idoc in ale layer with master_idoc_create_messgetype,
    inbound is receivng system with idoc_inbound_process, gives an return variable wether it is sucess or not
    7. no we have to configur that
    8. go to se09 or se01 there write your task no and use release button it will asks whats the other system name
    and number enter them and relase by pressing jeep button
    9. inquiry
    quotation
    sales order
    shipping
    delivery
    invoice
    return goods
    12. after creation of delivry note invoice is prepared
    13. master_idoc_distribute will generate standard idoc
    Deepti
    I am enclosing some of answers which I know.
    1. We can use t.Code SE16 to enter values into table only if table maintainence is allowed for that table.
    2. Append will add new entries into the table where as collect add into the numeric type fields if other charatcer fields
    matches to your selection criteria.
    3. CTS used for creation of ABAP development transport requests.The transaction code for this is SE10.
    4. UserExits r used for adding additional functionality to the existing SAP standard transactions.Using UserExits we can add additional functionality standard SAP functionality without making any changes to the original code.BADI is a standardized interface for ABAP sources that enables partners and customers to enhance SAP-delivered programs in their namespace.
    5 .We can identify User exits by using transactions CMOD and SMOD.
    6. After entering transaction code SE10 select the transport request which u want to transport and click on transport icon(Truck symbol) to release it.
    10. Purchase Requistion->RFQ->Vendor Evaluation->Purchase Order(ME21).
    14. Table control is the only facility provide thru dialog programming when we come acrosse the use of updating standared,deletion,insertion and all database operations.
    15. Field symbols r pointers to the existing data types(like 'C') which does not allocate any memory space. These are used faster access of data.
    Answers to some ABAP Interview Questions:
    Questions which I have faced in an interview:
    1) What is runtime analysis? Have you used this?
    2) What is meant by performance analysis? Have done anything to improve the performance?
    3) How to transfer the objects? Have to transferred any objects?
    4) How did you test the developed objects?
    5) What is the difference between SAP Memory and ABAP Memory?
    6) In order to upload Purchase order details, how you handle multiple values for a single field?
    Eg: Item field may contain no. of values for a record
    7) What is the procedure you followed to upload the data?
    8) How did you handle errors in Call Transaction?
    9) Among the Call Transaction and Session Method, which is faster?
    10) What are the difference between Interactive and Drill Down Reports?
    11) How to pass the variables to forms?
    12) How to create a link between modified form and modified print program?
    13) What is the table, which contain the details of all the name of the programs and forms?
    14) How did you test the form u developed? How did you taken print?
    15) What are Standard Texts?
    16) What is the difference between Clustered Tables and Pooled Tables?
    17) What is pf-status?
    18) Among "Move" and "Move Corresponding", which is efficient one?
    19) What are the output type and Tcodes?
    20) Where we use Chain and Endchain?
    21) Do you use select statement in loop endloop, how will be the performance? To improve the performance?
    22) In select-options, how to get the default values as current month first date and last date by default?
    Eg: 1/12/2004 and 31/12/2004
    Go thru these answers:
    1) What is runtime analysis? Have you used this?
    It's checks program execution time in microseconds. When you go to se30.if you give desired program name in performance file. It will take you to below screen. You can get how much past is your program.
    2) What is meant by performance analysis? Have done
    3) How to transfer the objects? Have you transferred any objects?
    4) How did you test the developed objects?
    I was testing a developed object. There are two types of testing
    - Negative testing
    - Positive testing
    In negative testing we will give negative data in input and we check any errors occurs.
    In positive testing we will give positive data in input for checking errors.
    8) How did you handle errors in Call Transaction?
    We can create a internal table like 'bsgmcgcoll'. All the messages will go to internal table. We can get errors in this internal table.
    Below messages are go to internal table. when you run the call transaction.
    - Message type
    - Message id
    - Message Number
    - Variable1
    - Variable2
    - Variable3
    9) Among the Call Transaction and Session Method, which is faster?
    Call transaction is faster then session method. But usually we use session method in real time...because we can transfer large amount of data from internal table to database and if any errors in a session. Process will not complete until session get correct.
    10) What are the difference between Interactive and Drill Down Reports?
    ABAP/4 provides some interactive events on lists such as AT LINE-SELECTION (double click) or AT USER-COMMAND (pressing a button). You can use these events to move through layers of information about individual items in a list.
    Drill down report is nothing but interactive report...drilldown means above paragraph only.
    11) How to pass the variables to forms?
    12) What is the table, which contain the details of all the name of the programs and forms?
    Table contains vertical and horizontal lines. We can store the data in table as blocks. We can scroll depends upon your wish. And these all are stored in database (data dictionary).
    Which contain the details of all the name of the programs and forms? (I don't know).
    13) How did you test the form u developed? How did you taken print?
    14) What are Standard Texts?
    16) What is the difference between Clustered Tables and Pooled Tables?
    A pooled table is used to combine several logical tables in the ABAP/4 dictionary. Pooled tables are logical tables that must be assigned to a table pool when they are defined.
    Cluster table are logical tables that must be assigned to a table cluster when they are defined.
    Cluster table can be used to store control data they can also used to store temporary data or text such as documentation.
    17) What is pf-status?
    Pf status is used in interactive report for enhancing the functionality. If we go to se41, we can get menus, items and different function keys, which we are using for secondary list in interactive report.
    18) Among "Move" and "Move Corresponding", which is efficient one?
    I guess, 'move corresponding' is very efficient then 'move' statement. Because usually we use this stamtent for internal table fields only...so if we give move corresponding. Those fields only moving to other place (what ever you want).
    19) What are the output type and Tcodes?
    20) Where we use Chain and End chain?
    21) Do you use select statement in loop end loop, how will be the performance? To improve the performance?
    22) In select-options, how to get the default values as current month first date and last date by default?
    Eg: 1/12/2004 and 31/12/2004
    SAP ABAP interview questions
    Thanks to the reader who sent in this question set:
    1. What is an ABAP data dictionary?- ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views.
    2. What are domains and data element?- Domains:Domain is the central object for describing the technical characteristics of an attribute of an business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user.
    3. What is foreign key relationship?- A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible.
    4. Describe data classes.- Master data: It is the data which is seldomly changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data:It is the data which R/3 system needs for itself.
    5. What are indexes?- Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. Yhe indexes are activated along with the table and are created automatically with it in the database.
    6. Difference between transparent tables and pooled tables.- Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure corresponds to single database field. Table in the database has the same name as in the dictionary. Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level.
    7. What is an ABAP/4 Query?- ABAP/4 Query is a powerful tool to generate simple reports without any coding. ABAP/4 Query can generate the following 3 simple reports: Basic List: It is the simple reports. Statistics: Reports with statistical functions like Average, Percentages. Ranked Lists: For analytical reports. - For creating a ABAP/4 Query, programmer has to create user group and a functional group. Functional group can be created using with or without logical database table. Finally, assign user group to functional group. Finally, create a query on the functional group generated.
    8. What is BDC programming?- Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is a automatic procedure referred to as BDC(Batch Data Communications).The central component of the transfer is a queue file which receives the data vie a batch input programs and groups associated data into “sessions”.
    9. What are the functional modules used in sequence in BDC?- These are the 3 functional modules which are used in a sequence to perform a data transfer successfully using BDC programming: BDC_OPEN_GROUP - Parameters like Name of the client, sessions and user name are specified in this functional modules. BDC_INSERT - It is used to insert the data for one transaction into a session. BDC_CLOSE_GROUP - This is used to close the batch input session.
    10. What are internal tables?- Internal tables are a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need.
    11. What is ITS? What are the merits of ITS?- ITS is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system, which converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits of ITS: A complete web transaction can be developed and tested in R/3 system. All transaction components, including those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of automatic language processing in the R/3 system can be utilized to language-dependent HTML documents at runtime.
    12. What is DynPro?- DynPro is a Dynamic Programming which is a combination of screen and the associated flow logic Screen is also called as DynPro.
    13. What are screen painter and menu painter?- Screen painter: Screen painter is a tool to design and maintain screen and its elements. It allows user to create GUI screens for the transactions. Attributes, layout, filed attributes and flow logic are the elements of Screen painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu bars, menu lists, F-key settings, functions and titles are the components of Menu painters. Screen painter and menu painter both are the graphical interface of an ABAP/4 applications.
    14. What are the components of SAP scripts?- SAP scripts is a word processing tool of SAP which has the following components: Standard text. It is like a standard normal documents. Layout sets. - Layout set consists of the following components: Windows and pages, Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set consists of Header, paragraph, and character string. ABAP/4 program.
    15. What is ALV programming in ABAP? When is this grid used in ABAP?- ALV is Application List viewer. Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output. The report output can contain up to 90 columns in the display with the wide array of display options.
    16. What are the events in ABAP/4 language?- Initialization, At selection-screen, Start-of-selection, end-of-selection, top-of-page, end-of-page, At line-selection, At user-command, At PF, Get, At New, At LAST, AT END, AT FIRST.
    17. What is CTS and what do you know about it?- The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape. This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project.
    18. What are logical databases? What are the advantages/ dis-advantages of logical databases?- To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program. Advantages: i)check functions which check that user input is complete, correct,and plausible. ii)Meaningful data selection. iii)central authorization checks for database accesses. iv)good read access performance while retaining the hierarchical data view determined by the application logic. dis advantages: i)If you donot specify a logical database in the program attributes,the GET events never occur. ii)There is no ENDGET command,so the code block associated with an event ends with the next event statement (such as another GET or an END-OF-SELECTION).
    19. What is a batch input session?- BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session ie data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed.
    20. How to upload data using CATT ?- These are the steps to be followed to Upload data through CATT: Creation of the CATT test case & recording the sample data input. Download of the source file template. Modification of the source file. Upload of the data from the source file.
    21. What is Smart Forms?- Smart Forms allows you to create forms using a graphical design tool with robust functionality, color, and more. Additionally, all new forms developed at SAP will be created with the new Smart Form solution.
    22. How can I make a differentiation between dependent and independent data?- Client dependent or independent transfer requirements include client specific or cross client objects in the change requests. Workbench objects like SAPscripts are client specific, some entries in customizing are client independent. If you display the object list for one change request, and then for each object the object attributes, you will find the flag client specific. If one object in the task list has this flag on, then that transport will be client dependent.
    23. What is the difference between macro and subroutine? - Macros can only be used in the program the are defined in and only after the definition are expanded at compilation / generation. Subroutines (FORM) can be called from both the program the are defined in and other programs . A MACRO is more or less an abbreviation for some lines of code that are used more than once or twice. A FORM is a local subroutine (which can be called external). A FUNCTION is (more or less) a subroutine that is called external. Since debugging a MACRO is not really possible, prevent the use of them (I’ve never used them, but seen them in action). If the subroutine is used only local (called internal) use a FORM. If the subroutine is called external (used by more than one program) use a FUNCTION.
    Please check these links.
    http://www.sap-img.com/abap/abap-interview-question.htm
    http://www.sap-img.com/abap/answers-to-some-abap-interview-questions.htm
    http://sap.ittoolbox.com/documents/document.asp?i=3240
    http://www.techinterviews.com/?p=198

  • Receiving FTP commands/parameters in SAP ABAP

    Hi Friends
    In My program I need to receive acknowledgement from external systems
    they will send some parameters thru FTP Commands to SAP
    my sap ABAP program need to receive when ever External system sends parameters
    and update them in SAP
    can anybody know how to handle the FTP commands and receiving them in
    SAP ABAP program, it should done automatically
    i will be very happy if any one send me some piece of code
    Thanks
    Anil

    I think you will need to watch for the arrival of the file delivered via the FTP, rather than try to act on the FTP commands themselves (as they will be handled by the FTP server software)... for example, if you were to FTP into a subdirectory called "inbox" and then have a cron job or an ABAP program that runs every X minutes to see if the directory contents have changed, you could have an event triggered back job fire up automatically (i.e. using SAPEVT from the operating system, or FM BP_EVENT_RAISE in APAP... see links:
    http://help.sap.com/saphelp_sm32/helpdata/en/fa/096e5e543b11d1898e0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_40b/helpdata/en/fa/096e6b543b11d1898e0000e8322d00/content.htm
    for more on this.
    Jonathan

  • Certification for SAP - ABAP

    is there any certification for SAP-ABAP ???

    Hi this will help u.
    certification ..
    This is link from SAP about ABAP certification
    http://www50.sap.com/useducation/certification/curriculum.asp?rid=351
    http://www.sapteched.com/india/confactivities/certexam.htm
    http://www50.sap.com/useducation/certification/curriculum.asp?rid=351
    There is a pdf called ABAP certification.
    http://www.esnips.com/web/SAP-ABAP?
    You can try www.sapdoamin.com
    They provide Certification simulation questions which are very useful and a must try site.
    Have a look at below link for mySAP Technology - ABAP Workbench
    https://websmp206.sap-ag.de/~sapidp/011000358700000746472003E
    Have a look at below link for SAP NetWeaver - ABAP Workbench
    http://www30.sap.com/hk/services/education/pdf/cert/ABAPWB.pdf
    The certification test consists of questions from the areas specified below:
    Topic Areas
    1. mySAP.com Technologies
    - mySAP.com
    - Navigation (system handling)
    - Technical setup of an SAP system
    - System-wide concepts
    2. ABAP Workbench Basics (++)
    - Data types and data objects
    - Internal tables
    - Data retrieval (authorization check)
    - Subroutines
    - The ABAP Runtime System
    - Function groups and function modules
    - Program calls and data transfer
    3. ABAP Objects (++)
    - Classes and objects
    - Inheritance
    - Casting
    - Interfaces
    - Events
    - Global classes and interfaces
    - Exception handling
    - Dynamic programming
    4. ABAP Dictionary (++)
    - Database tables
    - Performance for table access
    - Consistency through input check (foreigh key dependency)
    - Dependency of ABAP Dictionary objects
    - Views
    - Search help
    5. Techniqes for List Generation (++)
    - Data output to lists
    - Selection screen
    - Logical database
    - Program-specific data retrieval
    - Data formatting and control level processing
    - Storage of lists and background processing
    - Interactive lists
    6. Dialog Programming (++)
    - Screen (basics)
    - User interface (GUI title, GUI status)
    - Screen elements for output (text fields, status icons, and group boxes)
    - Screen elements for input/output
    - Subscreen and tabstrip control
    - Table control
    - Context menu
    - Dialog programming lists
    7. Database Changes
    - Database updates with Open SQL
    - LUWs and Client/Server Architecture
    - SAP locking concept
    - Organizing database changes
    - Complex LUW processing
    - Number assignment
    - Change-document creation
    8. Enhancements and Modifications
    - Changes in SAP Standards
    - Personalization
    - Enhancements to Dictionary elements
    - Enhancements using customer exits
    - Business Transaction Events
    - Business Add-Ins
    - Modifications
    Weighting Key in the Test:
    + = 1 - 10%
    ++ = 11 - 20%
    +++ = over 20%
    with regards,
    HEma SUndara.
    pls give points if u find helpful.

  • How to handle events in webdynpro abap

    Hi,
    can any body explain how to handle the events in webdynpro abap.
    i want to know some concepts in general.
    Thanks,

    Hi Mahesh,
    you can create event handlers under the actions tab in you view. evry event handler has an importing parameter wdevent of type ref to cl_wd_custom_event.
    you can also create events in your component controller and they can be handled within your views
    check cl_wd_custom_event class for details about what all information you get when an event occurs.
    for further details you can check out the following links
    http://help.sap.com/saphelp_nw04s/helpdata/en/eb/ed6f4169e25858e10000000a1550b0/frameset.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/a9/c751415e3b6532e10000000a1550b0/frameset.htm
    also you can try the tutorial at the following link for further clarity
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/2eb11b59-0a01-0010-dfa3-8292abdf9c4f
    Regards,
    Shweta
    Message was edited by:
            Shweta R Shanbhag

  • How to pass background event parameters to ABAP program in SM36

    Hi team,
         I want to pass background event parameters to ABAP program on job scheduling in SM36. For example, Background jobs will trigger, once background event triggered from Non-SAP system using SAPEVT command with parameters.
         I want to pass the event parameter values to the ABAP program . Can you please help me on this.
    Regards,
    Anand Krishnan

    Hi,
    Which ABAP program - the one that will be executed as a job step? If yes, I don't believe you can "pass" something to it because it will be started by "job starter" of SAP background processing run-time system. The ABAP program executed in background can, however, get the job run-time information using FM GET_JOB_RUNTIME_INFO, which also returns EVENTID and EVENTPARM. Is that the event parameters you were looking for?
    cheers
    Jānis

  • Wht is SAP ABAP HR

    Hi all
    wht is SAP ABAP HR?

    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.
    <b>sample code:</b>
    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
    regards,
    srinivas
    <b>*reward for useful answers*</b>

  • HI I am attending an interview in tcs in sap abap plz send me interivew que

    Hi I am attending tcs interivew this week plz send me interivew questions wht they ask ,,,my id is [email protected] ,,,, than k u,,,

    Hi,,
    Please find a few collection of my interview ques..
    Mark if useful..
    1. How data is stored in cluster table?
    Each field of cluster table behaves as tables which contains the no. of entries.
    2. What are client dependant objects in abap/sap?
    SAP Script layout, text element, and some DDIC objects.
    3. On which even we can validate the input fields in module progams?
    In PAI (Write field statement on field you want to validate, if you want to validate group of fields put in chain and End chain statement.)
    4. In selection screen I have three fields, plant mat no and material group. If I input plant how do I get the mat no and material group based on plant dynamically?
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR MATERIAL.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' to get material and material group for the plant.
    5. How do you get output from IDOC?
    Data in IDOc is stored in segments, the output from Idoc is obtained by reading the data stored in its respective segments.
    6. When top of the page event is triggered?
    After excuteing first write statement in start-of-selection event.
    7. Can we create field without data element and how?
    In SE11 one option is available above the fields strip. Data element/ direct type.
    8. How do we debug sapscript?
    Go to SE71 give lay set name , go to utilities select debugger mode on.                              
    9. Which transaction code can I used to analyze the performance of ABAP program.                              
    TCode AL21.                              
    10. How can I copy a standard table to make my own z_table.                              
    Go to transaction SE11. Then there is one option to copy table. Press that button. Enter the name of the standard table and in the Target table enter Z table name and press enter.                              
    Following are some of the answers which I gave upto my knowledge.                              
    1. What is the use of 'outerjoin'                              
    Ans. With the use of outer join you can join the tables even there is no entry in all the tables used in the view.                              
    In case of inner join there should be an entry in al the tables use in the view.                              
    2. When to use logical database?                              
    Ans. Advantage of Logical databases:                              
    less coding s required to retrieve data compared to normal internel tables.                              
    Tables used LDB are in hierarchial structure.                              
    3. What is the use of 'table index'?
    Ans .Index is used for faster access of data base tables.
    4. What is the use of 'FOR ALL ENTRIES'?
    Ans. To avoid nested select statements we use SELECT FOR ALL ENTRIES statement.
    If there r more than 10000 records SELECT FOR ALL ENTRIES is used.
    Performance wise SELECT FOR ALL ENTRIES is better to use.
    5. Can you set up background processing using CALL TRANSACTION?
    Yes,Using No Screen Mode.
    6. What are table buffers?
    Table buffers reside locally on each application server in the system. The data of buffered tables can thus be accessed
    directly from the buffer of the application server. This avoids the time-consuming process of accessing the database.
    Buffering is useful if table needs to be accessed more no. of times in a program.
    ABAP Technical Interview Questions:               
    1. What is the typical structure of an ABAP program?               
    2. What are field symbols and field groups.? Have you used "component idx of structure" clause with field groups?               
    3. What should be the approach for writing a BDC program?               
    4. What is a batch input session?               
    5. What is the alternative to batch input session?               
    6. A situation: An ABAP program creates a batch input session. We need to submit the program and the batch session in background. How to do it?               
    7. What is the difference between a pool table and a transparent table and how they are stored at the database level?               
    8. What are the problems in processing batch input sessions? How is batch input process different from processing on line?               
    9. What do you define in the domain and data element?               
    10. What are the different types of data dictionary objects?               
    11. How many types of tables exist and what are they in data dictionary?               
    12. What is the step-by-step process to create a table in data dictionary?
    13. Can a transparent table exist in data dictionary but not in the database physically?
    14. What are the domains and data elements?
    15. Can you create a table with fields not referring to data elements?
    16. What is the advantage of structures? How do you use them in the ABAP programs?
    17. What does an extract statement do in the ABAP program?
    18. What is a collect statement? How is it different from append?
    19. What is open sql vs native sql?
    20. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?
    21. What is the meaning of ABAP editor integrated with ABAP data dictionary?
    22. What are the events in ABAP language?
    23. What is an interactive report? What is the obvious diff of such report compared with classical type reports?
    24. What is a drill down report?
    25. How do you write a function module in SAP? Describe.
    26. What are the exceptions in function module?
    27. What is a function group?
    28. How are the date abd time field values stored in SAP?
    29. What are the fields in a BDC_Tab Table?
    30. Name a few data dictionary objects?
    31. What happens when a table is activated in DD?
    32. What is a check table and what is a value table?
    33. What are match codes? Describe?
    34. What transactions do you use for data analysis?
    35. What is table maintenance generator?
    36. What are ranges? What are number ranges?
    37. What are select options and what is the diff from parameters?
    38. How do you validate the selection criteria of a report? And how do you display initial values in a selection screen?
    39. What are selection texts?
    40. What is CTS and what do you know about it?
    41. When a program is created and need to be transported to prodn does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? How do you do it?
    42. What is the client concept in SAP? What is the meaning of client independent?
    43. Are programs client dependent?
    44. Name a few system global variables you can use in ABAP programs?                              
    45. What are internal tables? How do you get the number of lines in an internal table? How to use a specific number occurs statement?                              
    46. How do you take care of performance issues in your ABAP programs?                              
    47. What are datasets?                              
    48. How to find the return code of a stmt in ABAP programs?                              
    49. What are interface/conversion programs in SAP?                              
    50. Have you used SAP supplied programs to load master data?                              
    2. Adapted from response by Maram Roja on Tuesday, June 15, 2004                              
    1. What are the techniques involved in using SAP supplied programs? Do you prefer to write your own programs to load master data? Why?                              
    2. What are logical databases? What are the advantages/disadvantages of logical databases?                              
    3. What specific statements do you using when writing a drill down report?                              
    4. What are different tools to report data in SAP? What all have you used?                              
    5. What are the advantages and disadvantages of ABAP query tool?                              
    6. What are the functional areas? User groups? How does ABAP query work in relation to these?                              
    7. Is a logical database a requirement/must to write an ABAP query?          
    8. What is the structure of a BDC sessions.          
    9. What are Change header/detail tables? Have you used them?          
    10. What do you do when the system crashes in the middle of a BDC batch session?          
    11. What do you do with errors in BDC batch sessions?          
    12. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?          
    13. Is it possible to run host command from SAP environment? How do you run?          
    14. What kind of financial periods exist in SAP? What is the relevant table for that?          
    15. Does SAP handle multiple currencies? Multiple languages?          
    16. What is a currency factoring technique?          
    17. How do you document ABAP programs? Do you use program documentation menu option?          
    18. What is SAPscript and layout set?          
    19. What are the ABAP commands that link to a layout set?          
    20. What is output determination?          
    ABAP Interview Questions          
    1.Without using Tcode SE11, How can we enter the values in to the table???
    2.What is the difference between Collect statement and Append Statement???
    3.What do you mean by correction and Transportation system???
    4.What is the difference between User Exits and BADI????
    5.How can we identify User exits in our screen???
    6.What do you mean by Inbound and Outbound interface???
    7.In realtime do we configure ALE systems or Administator will take care of that??
    8.How to release an object???
    9.What is the flow of a Sales document???
    10.What is the flow of Purchase order???
    12.What is the flow of Invoice???
    13.What are the standard IDOC's used???
    14.What do you mean by table control???Where will we use this???
    15.What are field symbols??Where will we use these symbols???
    Deepti
    1. There are other ways of entering data into a DB table. ex. B D C
    2. Collect statement collect/adds the records basing on a key field. allows to create summarised data sets.
    Append will append/add a record at the end of existing records
    8. to release an object - use se10/se9
    9. sales doc flow: S. A. - S. O. - Delivery - Billing
    12. Delivery - invoice.
    15. field symbols are used for dynamic allocation. at runtime u can assign a concrete field to field-symbol.
    Kishore
    1. you can go to abap editor (se38) and use insert statement for insertion update for update and modify for modifications.
    2. collect will not allow duplicate entries, while append can allow duplicates.
    3. if any changes are made to objects they are to be transported to different systems i.e, change and transport.
    4. in user exits we go by general method for enhancements while BADIs we use objects (oops concepts)
    methods for enhancement.
    14. table controls are enhanced version for step loops where we can expand rows .main difference between these two
    is step loop can be expanded to two lines table controls can`t.
    15. field symbols are just like pointers concept which are used in C language. We use them when we want to refer to
    the fields considered,it doesnt allocate any memory for it.
    Venu Rapolu     
    1. Ans: Using BDC., LSMW,,ALE., BAPI     
    2. Ans: Collect: it adds the numeric fields to the existing non numeric key field records., thereby avoiding duplicate     
    values., and append will simply adds the record     
    3 . Ans: The CTS contains work bench organizer and transport system :     
    The workbench organizer is used to record and contol changes to the ABAP/4 development objects;     
    The transport system is used to move objects from an SAP dev.system to production system     
    6. Ans: Outbound interface is used to send IDocs to the ALE server.,     
    Inbound interface is used to Analyse the received Idoc.     
    7. Ans: We (ABAPers) don't do.     
    8. Ans: se09 or se10     
    13. Ans: MATMAS     
    CREMAS     
    DEBMAS     
    GLMAST etc...     
    14. Ans: to display records in table format., we use in Screens     
    15. Ans: we assign the field content at run time with ASSIGN stmt.
    Satish D
    1. goto se16 u can view the table contents
    2. collect will collects all the numeric fields of nonnumeric field values
    append will append record at the end of table
    3. when we are creatiing new task like dev. a new prg.. after completion of dev. that will be trnsported to testing system or production system to do that we are assigning an
    transport request from our dev.class(system) by using se09
    4. badis are dev. by class and inheritence methods where as user exitsdev by SAP only and empty shells filled wit user logic
    5. go to system then status
    6. outbound generating an idoc in ale layer with master_idoc_create_messgetype,
    inbound is receivng system with idoc_inbound_process, gives an return variable wether it is sucess or not
    7. no we have to configur that
    8. go to se09 or se01 there write your task no and use release button it will asks whats the other system name
    and number enter them and relase by pressing jeep button
    9. inquiry
    quotation
    sales order                    
    shipping                    
    delivery                    
    invoice                    
    return goods                    
    12. after creation of delivry note invoice is prepared                    
    13. master_idoc_distribute will generate standard idoc                    
    Deepti                    
    I am enclosing some of answers which I know.                    
    1. We can use t.Code SE16 to enter values into table only if table maintainence is allowed for that table.                    
    2. Append will add new entries into the table where as collect add into the numeric type fields if other charatcer fields                    
    matches to your selection criteria.                    
    3. CTS used for creation of ABAP development transport requests.The transaction code for this is SE10.                    
    4. UserExits r used for adding additional functionality to the existing SAP standard transactions.Using UserExits we can add additional functionality standard SAP functionality without making any changes to the original code.BADI is a standardized interface for ABAP sources that enables partners and customers to enhance SAP-delivered programs in their namespace.                    
    5 .We can identify User exits by using transactions CMOD and SMOD.               
    6. After entering transaction code SE10 select the transport request which u want to transport and click on transport icon(Truck symbol) to release it.               
    10. Purchase Requistion->RFQ->Vendor Evaluation->Purchase Order(ME21).               
    14. Table control is the only facility provide thru dialog programming when we come acrosse the use of updating standared,deletion,insertion and all database operations.               
    15. Field symbols r pointers to the existing data types(like 'C') which does not allocate any memory space. These are used faster access of data.               
    Answers to some ABAP Interview Questions:               
    Questions which I have faced in an interview:               
    1) What is runtime analysis? Have you used this?               
    2) What is meant by performance analysis? Have done anything to improve the performance?               
    3) How to transfer the objects? Have to transferred any objects?               
    4) How did you test the developed objects?               
    5) What is the difference between SAP Memory and ABAP Memory?               
    6) In order to upload Purchase order details, how you handle multiple values for a single field?               
    Eg: Item field may contain no. of values for a record               
    7) What is the procedure you followed to upload the data?               
    8) How did you handle errors in Call Transaction?
    9) Among the Call Transaction and Session Method, which is faster?
    10) What are the difference between Interactive and Drill Down Reports?
    11) How to pass the variables to forms?
    12) How to create a link between modified form and modified print program?
    13) What is the table, which contain the details of all the name of the programs and forms?
    14) How did you test the form u developed? How did you taken print?
    15) What are Standard Texts?
    16) What is the difference between Clustered Tables and Pooled Tables?
    17) What is pf-status?
    18) Among "Move" and "Move Corresponding", which is efficient one?
    19) What are the output type and Tcodes?
    20) Where we use Chain and Endchain?
    21) Do you use select statement in loop endloop, how will be the performance? To improve the performance?
    22) In select-options, how to get the default values as current month first date and last date by default?
    Eg: 1/12/2004 and 31/12/2004
    Go thru these answers:          
    1) What is runtime analysis? Have you used this?          
    It's checks program execution time in microseconds. When you go to se30.if you give desired program name in performance file. It will take you to below screen. You can get how much past is your program.          
    2) What is meant by performance analysis? Have done          
    3) How to transfer the objects? Have you transferred any objects?          
    4) How did you test the developed objects?          
    I was testing a developed object. There are two types of testing          
    - Negative testing          
    - Positive testing          
    In negative testing we will give negative data in input and we check any errors occurs.          
    In positive testing we will give positive data in input for checking errors.          
    8) How did you handle errors in Call Transaction?
    We can create a internal table like 'bsgmcgcoll'. All the messages will go to internal table. We can get errors in this internal table.
    Below messages are go to internal table. when you run the call transaction.
    - Message type
    - Message id
    - Message Number
    - Variable1
    - Variable2
    - Variable3
    9) Among the Call Transaction and Session Method, which is faster?
    Call transaction is faster then session method. But usually we use session method in real time...because we can transfer large amount of data from internal table to database and if any errors in a session. Process will not complete until session get correct.
    10) What are the difference between Interactive and Drill Down Reports?
    ABAP/4 provides some interactive events on lists such as AT LINE-SELECTION (double click) or AT USER-COMMAND (pressing a button). You can use these events to move through layers of information about individual items in a list.
    Drill down report is nothing but interactive report...drilldown means above paragraph only.
    11) How to pass the variables to forms?
    12) What is the table, which contain the details of all the name of the programs and forms?
    Table contains vertical and horizontal lines. We can store the data in table as blocks. We can scroll depends upon your wish. And these all are stored in database (data dictionary).
    Which contain the details of all the name of the programs and forms? (I don't know).
    13) How did you test the form u developed? How did you taken print?
    14) What are Standard Texts?
    16) What is the difference between Clustered Tables and Pooled Tables?
    A pooled table is used to combine several logical tables in the ABAP/4 dictionary. Pooled tables are logical tables that must be assigned to a table pool when they are defined.
    Cluster table are logical tables that must be assigned to a table cluster when they are defined.
    Cluster table can be used to store control data they can also used to store temporary data or text such as documentation.
    17) What is pf-status?
    Pf status is used in interactive report for enhancing the functionality. If we go to se41, we can get menus, items and different function keys, which we are using for secondary list in interactive report.
    18) Among "Move" and "Move Corresponding", which is efficient one?
    I guess, 'move corresponding' is very efficient then 'move' statement. Because usually we use this stamtent for internal table fields only...so if we give move corresponding. Those fields only moving to other place (what ever you want).
    19) What are the output type and Tcodes?
    20) Where we use Chain and End chain?
    21) Do you use select statement in loop end loop, how will be the performance? To improve the performance?                    
    22) In select-options, how to get the default values as current month first date and last date by default?                    
    Eg: 1/12/2004 and 31/12/2004                    
    SAP ABAP interview questions                    
    Thanks to the reader who sent in this question set:                    
    1. What is an ABAP data dictionary?- ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views.                    
    2. What are domains and data element?- Domains:Domain is the central object for describing the technical characteristics of an attribute of an business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user.                    
    3. What is foreign key relationship?- A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible.                    
    4. Describe data classes.- Master data: It is the data which is seldomly changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data:It is the data which R/3 system needs for itself.                    
    5. What are indexes?- Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. Yhe indexes are activated along with the table and are created automatically with it in the database.                    
    6. Difference between transparent tables and pooled tables.- Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure corresponds to single database field. Table in the database has the same name as in the dictionary. Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level.                    
    7. What is an ABAP/4 Query?- ABAP/4 Query is a powerful tool to generate simple reports without any coding. ABAP/4 Query can generate the following 3 simple reports: Basic List: It is the simple reports. Statistics: Reports with statistical functions like Average, Percentages. Ranked Lists: For analytical reports. - For creating a ABAP/4 Query, programmer has to create user group and a functional group. Functional group can be created using with or without logical database table. Finally, assign user group to functional group. Finally, create a query on the functional group generated.                    
    8. What is BDC programming?- Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is a automatic procedure referred to as BDC(Batch Data Communications).The central component of the transfer is a queue file which receives the data vie a batch input programs and groups associated data into "sessions".                    
    9. What are the functional modules used in sequence in BDC?- These are the 3 functional modules which are used in a sequence to perform a data transfer successfully using BDC programming: BDC_OPEN_GROUP - Parameters like Name of the client, sessions and user name are specified in this functional modules. BDC_INSERT - It is used to insert the data for one transaction into a session. BDC_CLOSE_GROUP - This is used to close the batch input session.                    
    10. What are internal tables?- Internal tables are a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need.                    
    11. What is ITS? What are the merits of ITS?- ITS is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system, which converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits of ITS: A complete web transaction can be developed and tested in R/3 system. All transaction components, including those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of automatic language processing in the R/3 system can be utilized to language-dependent HTML documents at runtime.                    
    12. What is DynPro?- DynPro is a Dynamic Programming which is a combination of screen and the associated flow logic Screen is also called as DynPro.
    13. What are screen painter and menu painter?- Screen painter: Screen painter is a tool to design and maintain screen and its elements. It allows user to create GUI screens for the transactions. Attributes, layout, filed attributes and flow logic are the elements of Screen painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu bars, menu lists, F-key settings, functions and titles are the components of Menu painters. Screen painter and menu painter both are the graphical interface of an ABAP/4 applications.
    14. What are the components of SAP scripts?- SAP scripts is a word processing tool of SAP which has the following components: Standard text. It is like a standard normal documents. Layout sets. - Layout set consists of the following components: Windows and pages, Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set consists of Header, paragraph, and character string. ABAP/4 program.
    15. What is ALV programming in ABAP? When is this grid used in ABAP?- ALV is Application List viewer. Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output. The report output can contain up to 90 columns in the display with the wide array of display options.
    16. What are the events in ABAP/4 language?- Initialization, At selection-screen, Start-of-selection, end-of-selection, top-of-page, end-of-page, At line-selection, At user-command, At PF, Get, At New, At LAST, AT END, AT FIRST.
    17. What is CTS and what do you know about it?- The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape. This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project.
    18. What are logical databases? What are the advantages/ dis-advantages of logical databases?- To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program. Advantages: i)check functions which check that user input is complete, correct,and plausible. ii)Meaningful data selection. iii)central authorization checks for database accesses. iv)good read access performance while retaining the hierarchical data view determined by the application logic. dis advantages: i)If you donot specify a logical database in the program attributes,the GET events never occur. ii)There is no ENDGET command,so the code block associated with an event ends with the next event statement (such as another GET or an END-OF-SELECTION).
    19. What is a batch input session?- BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session ie data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed.
    20. How to upload data using CATT ?- These are the steps to be followed to Upload data through CATT: Creation of the CATT test case & recording the sample data input. Download of the source file template. Modification of the source file. Upload of the data from the source file.
    21. What is Smart Forms?- Smart Forms allows you to create forms using a graphical design tool with robust functionality, color, and more. Additionally, all new forms developed at SAP will be created with the new Smart Form solution.
    22. How can I make a differentiation between dependent and independent data?- Client dependent or independent transfer requirements include client specific or cross client objects in the change requests. Workbench objects like SAPscripts are client specific, some entries in customizing are client independent. If you display the object list for one change request, and then for each object the object attributes, you will find the flag client specific. If one object in the task list has this flag on, then that transport will be client dependent.
    23. What is the difference between macro and subroutine? - Macros can only be used in the program the are defined in and only after the definition are expanded at compilation / generation. Subroutines (FORM) can be called from both the program the are defined in and other programs . A MACRO is more or less an abbreviation for some lines of code that are used more than once or twice. A FORM is a local subroutine (which can be called external). A FUNCTION is (more or less) a subroutine that is called external. Since debugging a MACRO is not really possible, prevent the use of them (I've never used them, but seen them in action). If the subroutine is used only local (called internal) use a FORM. If the subroutine is called external (used by more than one program) use a FUNCTION.
    Rajiv

  • How to Trigger  Object type Event programmatically  in ABAP ?

    Experts,
    How to Generate an Object Type Event  programmatically in ABAP ???  We know that SAP std. applications do this by default ,for eg:  Sales Order creation event generation,  similarly , i want to generate an Event  ( SAP or a Z object event ) in my Z program ,, How can i do it ???  Do we have any function module for this one ?  I can do an BDC  CALL TRANSACTION SWUE but i don't want to do that,  i want to use some other method other than BDC.
    Would appreciate your reply . Thanks
    Ashutosh

    Hi Ashutosh, if you are trying to raise a custom event you first must define the event within your business object, using TC SWO1.  If you like you can extend an existing business object or create a new one.  Once your business object is activated and your event is released you should be able to trigger it with the FM 'SWE_EVENT_CREATE'.
    P.S  If you are extending an existing business object, for example BUS2105 and your extended name is ZMBUS2105, refer to the original name, i.e. BUS2105 for the objtype field in the call to 'SWE_EVENT_CREATE'.
    Hope that helps,
    Kevin

  • Sap-abap  expected topics in interview

    Hi ,
    Iam trying for job in sap as a 2+ years of experience.
    what r the the different topics can i expect in interview  ?
    What are the imp topics as a 2+ experience.
    Pls help me.
    I think it may help many people.
    regards,
    kala.

    Hi
    1. How data is stored in cluster table?
    Each field of cluster table behaves as tables which contains the no. of entries.
    2. What are client dependant objects in abap/sap?
    SAP Script layout, text element, and some DDIC objects.
    3. On which even we can validate the input fields in module progams?
    In PAI (Write field statement on field you want to validate, if you want to validate group of fields put in chain and End chain statement.)
    4. In selection screen I have three fields, plant mat no and material group. If I input plant how do I get the mat no and material group based on plant dynamically?
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR MATERIAL.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' to get material and material group for the plant.
    5. How do you get output from IDOC?
    Data in IDOc is stored in segments, the output from Idoc is obtained by reading the data stored in its respective segments.
    6. When top of the page event is triggered?
    After excuteing first write statement in start-of-selection event.
    7. Can we create field without data element and how?
    In SE11 one option is available above the fields strip. Data element/ direct type.
    8. How do we debug sapscript?
    Go to SE71 give lay set name , go to utilities select debugger mode on.
    9. Which transaction code can I used to analyze the performance of ABAP program.
    TCode AL21.
    10. How can I copy a standard table to make my own z_table.
    Go to transaction SE11. Then there is one option to copy table. Press that button. Enter the name of the standard table and in the Target table enter Z table name and press enter.
    Following are some of the answers which I gave upto my knowledge.
    1. What is the use of 'outerjoin'
    Ans. With the use of outer join you can join the tables even there is no entry in all the tables used in the view.
    In case of inner join there should be an entry in al the tables use in the view.
    2. When to use logical database?
    Ans. Advantage of Logical databases:
    less coding s required to retrieve data compared to normal internel tables.
    Tables used LDB are in hierarchial structure.
    3. What is the use of 'table index'?
    Ans .Index is used for faster access of data base tables.
    4. What is the use of 'FOR ALL ENTRIES'?
    Ans. To avoid nested select statements we use SELECT FOR ALL ENTRIES statement.
    If there r more than 10000 records SELECT FOR ALL ENTRIES is used.
    Performance wise SELECT FOR ALL ENTRIES is better to use.
    5. Can you set up background processing using CALL TRANSACTION?
    Yes,Using No Screen Mode.
    6. What are table buffers?
    Table buffers reside locally on each application server in the system. The data of buffered tables can thus be accessed
    directly from the buffer of the application server. This avoids the time-consuming process of accessing the database.
    Buffering is useful if table needs to be accessed more no. of times in a program.
    ABAP Technical Interview Questions:
    1. What is the typical structure of an ABAP program?
    2. What are field symbols and field groups.? Have you used "component idx of structure" clause with field groups?
    3. What should be the approach for writing a BDC program?
    4. What is a batch input session?
    5. What is the alternative to batch input session?
    6. A situation: An ABAP program creates a batch input session. We need to submit the program and the batch session in background. How to do it?
    7. What is the difference between a pool table and a transparent table and how they are stored at the database level?
    8. What are the problems in processing batch input sessions? How is batch input process different from processing on line?
    9. What do you define in the domain and data element?
    10. What are the different types of data dictionary objects?
    11. How many types of tables exist and what are they in data dictionary?
    12. What is the step-by-step process to create a table in data dictionary?
    13. Can a transparent table exist in data dictionary but not in the database physically?
    14. What are the domains and data elements?
    15. Can you create a table with fields not referring to data elements?
    16. What is the advantage of structures? How do you use them in the ABAP programs?
    17. What does an extract statement do in the ABAP program?
    18. What is a collect statement? How is it different from append?
    19. What is open sql vs native sql?
    20. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?
    21. What is the meaning of ABAP editor integrated with ABAP data dictionary?
    22. What are the events in ABAP language?
    23. What is an interactive report? What is the obvious diff of such report compared with classical type reports?
    24. What is a drill down report?
    25. How do you write a function module in SAP? Describe.
    26. What are the exceptions in function module?
    27. What is a function group?
    28. How are the date abd time field values stored in SAP?
    29. What are the fields in a BDC_Tab Table?
    30. Name a few data dictionary objects?
    31. What happens when a table is activated in DD?
    32. What is a check table and what is a value table?
    33. What are match codes? Describe?
    34. What transactions do you use for data analysis?
    35. What is table maintenance generator?
    36. What are ranges? What are number ranges?
    37. What are select options and what is the diff from parameters?
    38. How do you validate the selection criteria of a report? And how do you display initial values in a selection screen?
    39. What are selection texts?
    40. What is CTS and what do you know about it?
    41. When a program is created and need to be transported to prodn does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? How do you do it?
    42. What is the client concept in SAP? What is the meaning of client independent?
    43. Are programs client dependent?
    44. Name a few system global variables you can use in ABAP programs?
    45. What are internal tables? How do you get the number of lines in an internal table? How to use a specific number occurs statement?
    46. How do you take care of performance issues in your ABAP programs?
    47. What are datasets?
    48. How to find the return code of a stmt in ABAP programs?
    49. What are interface/conversion programs in SAP?
    50. Have you used SAP supplied programs to load master data?
    2. Adapted from response by Maram Roja on Tuesday, June 15, 2004
    1. What are the techniques involved in using SAP supplied programs? Do you prefer to write your own programs to load master data? Why?
    2. What are logical databases? What are the advantages/disadvantages of logical databases?
    3. What specific statements do you using when writing a drill down report?
    4. What are different tools to report data in SAP? What all have you used?
    5. What are the advantages and disadvantages of ABAP query tool?
    6. What are the functional areas? User groups? How does ABAP query work in relation to these?
    7. Is a logical database a requirement/must to write an ABAP query?
    8. What is the structure of a BDC sessions.
    9. What are Change header/detail tables? Have you used them?
    10. What do you do when the system crashes in the middle of a BDC batch session?
    11. What do you do with errors in BDC batch sessions?
    12. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?
    13. Is it possible to run host command from SAP environment? How do you run?
    14. What kind of financial periods exist in SAP? What is the relevant table for that?
    15. Does SAP handle multiple currencies? Multiple languages?
    16. What is a currency factoring technique?
    17. How do you document ABAP programs? Do you use program documentation menu option?
    18. What is SAPscript and layout set?
    19. What are the ABAP commands that link to a layout set?
    20. What is output determination?
    ABAP Interview Questions
    1.Without using Tcode SE11, How can we enter the values in to the table???
    2.What is the difference between Collect statement and Append Statement???
    3.What do you mean by correction and Transportation system???
    4.What is the difference between User Exits and BADI????
    5.How can we identify User exits in our screen???
    6.What do you mean by Inbound and Outbound interface???
    7.In realtime do we configure ALE systems or Administator will take care of that??
    8.How to release an object???
    9.What is the flow of a Sales document???
    10.What is the flow of Purchase order???
    12.What is the flow of Invoice???
    13.What are the standard IDOC's used???
    14.What do you mean by table control???Where will we use this???
    15.What are field symbols??Where will we use these symbols???
    Deepti
    1. There are other ways of entering data into a DB table. ex. B D C
    2. Collect statement collect/adds the records basing on a key field. allows to create summarised data sets.
    Append will append/add a record at the end of existing records
    8. to release an object - use se10/se9
    9. sales doc flow: S. A. - S. O. - Delivery - Billing
    12. Delivery - invoice.
    15. field symbols are used for dynamic allocation. at runtime u can assign a concrete field to field-symbol.
    Kishore
    1. you can go to abap editor (se38) and use insert statement for insertion update for update and modify for modifications.
    2. collect will not allow duplicate entries, while append can allow duplicates.
    3. if any changes are made to objects they are to be transported to different systems i.e, change and transport.
    4. in user exits we go by general method for enhancements while BADIs we use objects (oops concepts)
    methods for enhancement.
    14. table controls are enhanced version for step loops where we can expand rows .main difference between these two
    is step loop can be expanded to two lines table controls can`t.
    15. field symbols are just like pointers concept which are used in C language. We use them when we want to refer to
    the fields considered,it doesnt allocate any memory for it.
    Venu Rapolu
    1. Ans: Using BDC., LSMW,,ALE., BAPI
    2. Ans: Collect: it adds the numeric fields to the existing non numeric key field records., thereby avoiding duplicate
    values., and append will simply adds the record
    3 . Ans: The CTS contains work bench organizer and transport system :
    The workbench organizer is used to record and contol changes to the ABAP/4 development objects;
    The transport system is used to move objects from an SAP dev.system to production system
    6. Ans: Outbound interface is used to send IDocs to the ALE server.,
    Inbound interface is used to Analyse the received Idoc.
    7. Ans: We (ABAPers) don't do.
    8. Ans: se09 or se10
    13. Ans: MATMAS
    CREMAS
    DEBMAS
    GLMAST etc...
    14. Ans: to display records in table format., we use in Screens
    15. Ans: we assign the field content at run time with ASSIGN stmt.
    Satish D
    1. goto se16 u can view the table contents
    2. collect will collects all the numeric fields of nonnumeric field values
    append will append record at the end of table
    3. when we are creatiing new task like dev. a new prg.. after completion of dev. that will be trnsported to testing system or production system to do that we are assigning an
    transport request from our dev.class(system) by using se09
    4. badis are dev. by class and inheritence methods where as user exitsdev by SAP only and empty shells filled wit user logic
    5. go to system then status
    6. outbound generating an idoc in ale layer with master_idoc_create_messgetype,
    inbound is receivng system with idoc_inbound_process, gives an return variable wether it is sucess or not
    7. no we have to configur that
    8. go to se09 or se01 there write your task no and use release button it will asks whats the other system name
    and number enter them and relase by pressing jeep button
    9. inquiry
    quotation
    sales order
    shipping
    delivery
    invoice
    return goods
    12. after creation of delivry note invoice is prepared
    13. master_idoc_distribute will generate standard idoc
    Deepti
    I am enclosing some of answers which I know.
    1. We can use t.Code SE16 to enter values into table only if table maintainence is allowed for that table.
    2. Append will add new entries into the table where as collect add into the numeric type fields if other charatcer fields
    matches to your selection criteria.
    3. CTS used for creation of ABAP development transport requests.The transaction code for this is SE10.
    4. UserExits r used for adding additional functionality to the existing SAP standard transactions.Using UserExits we can add additional functionality standard SAP functionality without making any changes to the original code.BADI is a standardized interface for ABAP sources that enables partners and customers to enhance SAP-delivered programs in their namespace.
    5 .We can identify User exits by using transactions CMOD and SMOD.
    6. After entering transaction code SE10 select the transport request which u want to transport and click on transport icon(Truck symbol) to release it.
    10. Purchase Requistion->RFQ->Vendor Evaluation->Purchase Order(ME21).
    14. Table control is the only facility provide thru dialog programming when we come acrosse the use of updating standared,deletion,insertion and all database operations.
    15. Field symbols r pointers to the existing data types(like 'C') which does not allocate any memory space. These are used faster access of data.
    Answers to some ABAP Interview Questions:
    Questions which I have faced in an interview:
    1) What is runtime analysis? Have you used this?
    2) What is meant by performance analysis? Have done anything to improve the performance?
    3) How to transfer the objects? Have to transferred any objects?
    4) How did you test the developed objects?
    5) What is the difference between SAP Memory and ABAP Memory?
    6) In order to upload Purchase order details, how you handle multiple values for a single field?
    Eg: Item field may contain no. of values for a record
    7) What is the procedure you followed to upload the data?
    8) How did you handle errors in Call Transaction?
    9) Among the Call Transaction and Session Method, which is faster?
    10) What are the difference between Interactive and Drill Down Reports?
    11) How to pass the variables to forms?
    12) How to create a link between modified form and modified print program?
    13) What is the table, which contain the details of all the name of the programs and forms?
    14) How did you test the form u developed? How did you taken print?
    15) What are Standard Texts?
    16) What is the difference between Clustered Tables and Pooled Tables?
    17) What is pf-status?
    18) Among "Move" and "Move Corresponding", which is efficient one?
    19) What are the output type and Tcodes?
    20) Where we use Chain and Endchain?
    21) Do you use select statement in loop endloop, how will be the performance? To improve the performance?
    22) In select-options, how to get the default values as current month first date and last date by default?
    Eg: 1/12/2004 and 31/12/2004
    Go thru these answers:
    1) What is runtime analysis? Have you used this?
    It's checks program execution time in microseconds. When you go to se30.if you give desired program name in performance file. It will take you to below screen. You can get how much past is your program.
    2) What is meant by performance analysis? Have done
    3) How to transfer the objects? Have you transferred any objects?
    4) How did you test the developed objects?
    I was testing a developed object. There are two types of testing
    Negative testing
    Positive testing
    In negative testing we will give negative data in input and we check any errors occurs.
    In positive testing we will give positive data in input for checking errors.
    8) How did you handle errors in Call Transaction?
    We can create a internal table like 'bsgmcgcoll'. All the messages will go to internal table. We can get errors in this internal table.
    Below messages are go to internal table. when you run the call transaction.
    Message type
    Message id
    Message Number
    Variable1
    Variable2
    Variable3
    9) Among the Call Transaction and Session Method, which is faster?
    Call transaction is faster then session method. But usually we use session method in real time...because we can transfer large amount of data from internal table to database and if any errors in a session. Process will not complete until session get correct.
    10) What are the difference between Interactive and Drill Down Reports?
    ABAP/4 provides some interactive events on lists such as AT LINE-SELECTION (double click) or AT USER-COMMAND (pressing a button). You can use these events to move through layers of information about individual items in a list.
    Drill down report is nothing but interactive report...drilldown means above paragraph only.
    11) How to pass the variables to forms?
    12) What is the table, which contain the details of all the name of the programs and forms?
    Table contains vertical and horizontal lines. We can store the data in table as blocks. We can scroll depends upon your wish. And these all are stored in database (data dictionary).
    Which contain the details of all the name of the programs and forms? (I don't know).
    13) How did you test the form u developed? How did you taken print?
    14) What are Standard Texts?
    16) What is the difference between Clustered Tables and Pooled Tables?
    A pooled table is used to combine several logical tables in the ABAP/4 dictionary. Pooled tables are logical tables that must be assigned to a table pool when they are defined.
    Cluster table are logical tables that must be assigned to a table cluster when they are defined.
    Cluster table can be used to store control data they can also used to store temporary data or text such as documentation.
    17) What is pf-status?
    Pf status is used in interactive report for enhancing the functionality. If we go to se41, we can get menus, items and different function keys, which we are using for secondary list in interactive report.
    18) Among "Move" and "Move Corresponding", which is efficient one?
    I guess, 'move corresponding' is very efficient then 'move' statement. Because usually we use this stamtent for internal table fields only...so if we give move corresponding. Those fields only moving to other place (what ever you want).
    19) What are the output type and Tcodes?
    20) Where we use Chain and End chain?
    21) Do you use select statement in loop end loop, how will be the performance? To improve the performance?
    22) In select-options, how to get the default values as current month first date and last date by default?
    Eg: 1/12/2004 and 31/12/2004
    SAP ABAP interview questions
    Thanks to the reader who sent in this question set:
    1. What is an ABAP data dictionary?- ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views.
    2. What are domains and data element?- Domains:Domain is the central object for describing the technical characteristics of an attribute of an business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user.
    3. What is foreign key relationship?- A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible.
    4. Describe data classes.- Master data: It is the data which is seldomly changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data:It is the data which R/3 system needs for itself.
    5. What are indexes?- Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. Yhe indexes are activated along with the table and are created automatically with it in the database.
    6. Difference between transparent tables and pooled tables.- Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure corresponds to single database field. Table in the database has the same name as in the dictionary. Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level.
    7. What is an ABAP/4 Query?- ABAP/4 Query is a powerful tool to generate simple reports without any coding. ABAP/4 Query can generate the following 3 simple reports: Basic List: It is the simple reports. Statistics: Reports with statistical functions like Average, Percentages. Ranked Lists: For analytical reports. - For creating a ABAP/4 Query, programmer has to create user group and a functional group. Functional group can be created using with or without logical database table. Finally, assign user group to functional group. Finally, create a query on the functional group generated.
    8. What is BDC programming?- Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is a automatic procedure referred to as BDC(Batch Data Communications).The central component of the transfer is a queue file which receives the data vie a batch input programs and groups associated data into “sessions”.
    9. What are the functional modules used in sequence in BDC?- These are the 3 functional modules which are used in a sequence to perform a data transfer successfully using BDC programming: BDC_OPEN_GROUP - Parameters like Name of the client, sessions and user name are specified in this functional modules. BDC_INSERT - It is used to insert the data for one transaction into a session. BDC_CLOSE_GROUP - This is used to close the batch input session.
    10. What are internal tables?- Internal tables are a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need.
    11. What is ITS? What are the merits of ITS?- ITS is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system, which converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits of ITS: A complete web transaction can be developed and tested in R/3 system. All transaction components, including those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of automatic language processing in the R/3 system can be utilized to language-dependent HTML documents at runtime.
    12. What is DynPro?- DynPro is a Dynamic Programming which is a combination of screen and the associated flow logic Screen is also called as DynPro.
    13. What are screen painter and menu painter?- Screen painter: Screen painter is a tool to design and maintain screen and its elements. It allows user to create GUI screens for the transactions. Attributes, layout, filed attributes and flow logic are the elements of Screen painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu bars, menu lists, F-key settings, functions and titles are the components of Menu painters. Screen painter and menu painter both are the graphical interface of an ABAP/4 applications.
    14. What are the components of SAP scripts?- SAP scripts is a word processing tool of SAP which has the following components: Standard text. It is like a standard normal documents. Layout sets. - Layout set consists of the following components: Windows and pages, Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set consists of Header, paragraph, and character string. ABAP/4 program.
    15. What is ALV programming in ABAP? When is this grid used in ABAP?- ALV is Application List viewer. Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output. The report output can contain up to 90 columns in the display with the wide array of display options.
    16. What are the events in ABAP/4 language?- Initialization, At selection-screen, Start-of-selection, end-of-selection, top-of-page, end-of-page, At line-selection, At user-command, At PF, Get, At New, At LAST, AT END, AT FIRST.
    17. What is CTS and what do you know about it?- The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape. This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project.
    18. What are logical databases? What are the advantages/ dis-advantages of logical databases?- To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program. Advantages: i)check functions which check that user input is complete, correct,and plausible. ii)Meaningful data selection. iii)central authorization checks for database accesses. iv)good read access performance while retaining the hierarchical data view determined by the application logic. dis advantages: i)If you donot specify a logical database in the program attributes,the GET events never occur. ii)There is no ENDGET command,so the code block associated with an event ends with the next event statement (such as another GET or an END-OF-SELECTION).
    19. What is a batch input session?- BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session ie data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed.
    20. How to upload data using CATT ?- These are the steps to be followed to Upload data through CATT: Creation of the CATT test case & recording the sample data input. Download of the source file template. Modification of the source file. Upload of the data from the source file.
    21. What is Smart Forms?- Smart Forms allows you to create forms using a graphical design tool with robust functionality, color, and more. Additionally, all new forms developed at SAP will be created with the new Smart Form solution.
    22. How can I make a differentiation between dependent and independent data?- Client dependent or independent transfer requirements include client specific or cross client objects in the change requests. Workbench objects like SAPscripts are client specific, some entries in customizing are client independent. If you display the object list for one change request, and then for each object the object attributes, you will find the flag client specific. If one object in the task list has this flag on, then that transport will be client dependent.
    23. What is the difference between macro and subroutine? - Macros can only be used in the program the are defined in and only after the definition are expanded at compilation / generation. Subroutines (FORM) can be called from both the program the are defined in and other programs . A MACRO is more or less an abbreviation for some lines of code that are used more than once or twice. A FORM is a local subroutine (which can be called external). A FUNCTION is (more or less) a subroutine that is called external. Since debugging a MACRO is not really possible, prevent the use of them (I’ve never used them, but seen them in action). If the subroutine is used only local (called internal) use a FORM. If the subroutine is called external (used by more than one program) use a FUNCTION.
    Please check these links.
    http://www.sap-img.com/abap/abap-interview-question.htm
    http://www.sap-img.com/abap/answers-to-some-abap-interview-questions.htm
    http://sap.ittoolbox.com/documents/document.asp?i=3240
    http://www.techinterviews.com/?p=198
    INTERVIEW
    http://www.4futureengineers.com/tests/abaptest.htm
    http://www.geekinterview.com/Interview-Questions/SAP-R-3/ABAP
    http://www.techinterviews.com/?p=198
    http://www.techinterviews.com/?p=326
    http://www.sap-img.com/abap/answers-to-some-abap-interview-questions.htm
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    http://www.geekinterview.com/Interview-Questions/SAP-R-3/ABAP
    http://sap.ittoolbox.com/documents/popular-q-and-a/abap-sample-interview-questions-3240
    http://www.sap-img.com/abap/abap-interview-question.htm
    http://www.allinterview.com/Interview-Questions/ABAP.html
    Regards

Maybe you are looking for

  • HP-UX Kernel Params for WLS 6.0SP2 Cluster to Avoid java.lang.outofmemory and/or thread death

              I'm running a WLS 6.0 SP2 clustered application on HP-UX 11i. I'm seeing heap and           thread issues on start-up or invocation of my application as I deploy EJB's and create           DB connection pools. These are fairly trivial tasks

  • Opening EML attachments

    Can anyone help me I have started receiving attachments in EML rather than word or PDF. I cannot open these attachments can anyone tell me how to do this.

  • ProxySelector does not pull proxy settings from configuration file?

    Hi everyone, I try to use class ProxySelector to find proxy settings on Windows XP. When a proxy server URL and port is set explicitly in the "Internet Options" control panel, this proxy setting is detected by class ProxySelector - no problem. When a

  • Pv in Direct Database request

    Hi I have a report from Direct database request .My question is how to create a PV(Prompt) where I dont have that table in the front end.

  • Regarding interfaces?

    Mapping data for interfaces between SAP and Non-SAP systems? What are the things involved in it Please explain me and if you have any documents regarding pls let me know pls forward the doc if any to [email protected]