Protect sensitive HR tables from ABAPer and BASIS

Hello
We are trying to work out some security authorizations where in we can protect HR master data through direct access to HR tables through SE16 or SM30 for info type tables like PA0008 or PA0015 etc. I know that these tables have authorization group 'PA' and we can build a role using S_TABU_DIS using this autho group but we have about 30 such infotypes to be protected. If we build a role with S_TABU_DIS and Auth group='PA' we will land up protecting all the Infotypes. Other problem is that if we create a new auth group 'ZPA' for these 30 infotype tables, thats too much customization as we might have problems during future upgrades.
My question to the forum members is - What solutions were explored or implemented for such situations?
Thanks
Snehal

Dear Snehal,
Maintain all such sensitive infotypes in a Z table. Implement a proper BAdi/Enhacement that will be called whenver user accesses the transactions that you want to restrict and validate against that Z table. If the entry exists in Z table raise an error message saying 'You are not authorized' else display.
You would need to bypass this validation for users other than ABAPer or BASIS. For that you may need to maintain proper naming convention or some logic.
Please check this sample program from other thread to find BADI and enhancement for a given transaction code. You just need to create a custom program in your system by cut and paste below codes.
REPORT ZTEST.
TABLES: TSTC,
TADIR,
MODSAPT,
MODACT,
TRDIR,
TFDIR,
ENLFDIR,
SXS_ATTRT ,
TSTCT.
DATA: JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
DATA: FIELD1(30).
DATA: V_DEVCLASS LIKE TADIR-DEVCLASS.
PARAMETERS: P_TCODE LIKE TSTC-TCODE,
P_PGMNA LIKE TSTC-PGMNA .
DATA: WA_TADIR TYPE TADIR.
START-OF-SELECTION.
IF NOT P_TCODE IS INITIAL.
SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
ELSEIF NOT P_PGMNA IS INITIAL.
TSTC-PGMNA = P_PGMNA.
ENDIF.
IF SY-SUBRC EQ 0.
SELECT SINGLE * FROM TADIR
WHERE PGMID = 'R3TR'
AND OBJECT = 'PROG'
AND OBJ_NAME = TSTC-PGMNA.
MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
IF SY-SUBRC NE 0.
SELECT SINGLE * FROM TRDIR
WHERE NAME = TSTC-PGMNA.
IF TRDIR-SUBC EQ 'F'.
SELECT SINGLE * FROM TFDIR
WHERE PNAME = TSTC-PGMNA.
SELECT SINGLE * FROM ENLFDIR
WHERE FUNCNAME = TFDIR-FUNCNAME.
SELECT SINGLE * FROM TADIR
WHERE PGMID = 'R3TR'
AND OBJECT = 'FUGR'
AND OBJ_NAME EQ ENLFDIR-AREA.
MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
ENDIF.
ENDIF.
SELECT * FROM TADIR INTO TABLE JTAB
WHERE PGMID = 'R3TR'
AND OBJECT in ('SMOD', 'SXSD')
AND DEVCLASS = V_DEVCLASS.
SELECT SINGLE * FROM TSTCT
WHERE SPRSL EQ SY-LANGU
AND TCODE EQ P_TCODE.
FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
WRITE:/(19) 'Transaction Code - ',
20(20) P_TCODE,
45(50) TSTCT-TTEXT.
SKIP.
IF NOT JTAB[] IS INITIAL.
WRITE:/(105) SY-ULINE.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
Sorting the internal Table
sort jtab by OBJECT.
data : wf_txt(60) type c,
wf_smod type i ,
wf_badi type i ,
wf_object2(30) type C.
clear : wf_smod, wf_badi , wf_object2.
Get the total SMOD.
LOOP AT JTAB into wa_tadir.
at first.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE:/1 SY-VLINE,
2 'Enhancement/ Business Add-in',
41 SY-VLINE ,
42 'Description',
105 SY-VLINE.
WRITE:/(105) SY-ULINE.
endat.
clear wf_txt.
at new object.
if wa_tadir-object = 'SMOD'.
wf_object2 = 'Enhancement' .
elseif wa_tadir-object = 'SXSD'.
wf_object2 = ' Business Add-in'.
endif.
FORMAT COLOR COL_GROUP INTENSIFIED ON.
WRITE:/1 SY-VLINE,
2 wf_object2,
105 SY-VLINE.
endat.
case wa_tadir-object.
when 'SMOD'.
wf_smod = wf_smod + 1.
SELECT SINGLE MODTEXT into wf_txt
FROM MODSAPT
WHERE SPRSL = SY-LANGU
AND NAME = wa_tadir-OBJ_NAME.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
when 'SXSD'.
For BADis
wf_badi = wf_badi + 1 .
select single TEXT into wf_txt
from SXS_ATTRT
where sprsl = sy-langu
and EXIT_NAME = wa_tadir-OBJ_NAME.
FORMAT COLOR COL_NORMAL INTENSIFIED ON.
endcase.
WRITE:/1 SY-VLINE,
2 wa_tadir-OBJ_NAME hotspot on,
41 SY-VLINE ,
42 wf_txt,
105 SY-VLINE.
AT END OF object.
write : /(105) sy-ULINE.
ENDAT.
ENDLOOP.
WRITE:/(105) SY-ULINE.
SKIP.
FORMAT COLOR COL_TOTAL INTENSIFIED ON.
WRITE:/ 'No.of Exits:' , wf_smod.
WRITE:/ 'No.of BADis:' , wf_badi.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(105) 'No userexits or BADis exist'.
ENDIF.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(105) 'Transaction does not exist'.
ENDIF.
AT LINE-SELECTION.
data : wf_object type tadir-object.
clear wf_object.
GET CURSOR FIELD FIELD1.
CHECK FIELD1(8) EQ 'WA_TADIR'.
read table jtab with key obj_name = sy-lisel+1(20).
move jtab-object to wf_object.
case wf_object.
when 'SMOD'.
SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
when 'SXSD'.
SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).
CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
ENDCASE.
Alternatively, you can do the following:
1. For what ever transaction u want the enhancement .. just check for the System-->status (menu) and find out the PROGRAM name....
2. Double click on to the program name and go inside the program (Abap editor)
3. Search for "Call Customer-function " ... and u'll get some search results .. If u get results then u have enhancement in that tcode .....
4. Then it actually calls a Function module .... copy the Function module name .... go to SE80 (object navigator) click on "Repository Information system" then Customer Enhancements .... Give the Function module name in the "Components" field and click Execute ....
ull get a list of Enhancements related to that Componene....
5. Choose which ever enhancement will suit ur business need ..
6. Go to CMOD... create a project .... assign ur enhancement ... and then code ur logic.... activate ur enhancement in CMOD ....... Ur Buisness need will be solved...
For a user exit......
Finding whether there is any User Exit or not for tcode VA42
1. For what ever transaction u want the user exit .. just check for the System-->status (menu) and find out the PROGRAM name.... ( The program name would be for our scenario "SAPMV45A" )
2. Double click on to the program name and go inside the program (Abap editor)
3. Search for the word "USEREXIT" .... u ll find all the user exits in the search result .. and find ur's then ...
Hope this will help.
Regards,
Naveen.

Similar Messages

  • How to find SAP  java realted roles for ABAP and Basis

    Hi Gurus,
    I am new in SAP Security First week, I got the assignment to find the SAP Roles and Trans for ABAP and Basis in all Systems like Ecc, BI, ......
    I use SE16 ->AGR_TCODES then SAP* in Table Name it give me all SAP Roles and Trans.
    Pls help me to get only SAP Java and Basis roles and Trans Seperately
    Thanks

    Hi,
    Are you speaking about the standrad SAP roles? If yes, you can have a look at BC and ABAP roles. However, if your question is about the created roles, you should see the convention that was followed in your organization to identify the roles.
    Rgds,
    Raghu Boddu

  • Need To Create a table in Sql Server and do some culculation into the table from Oracle and Sql

    Hello All,
    I'm moving a data from Oracle to Sql Server with ETL (80 tables with data) and i want to track the number of records that i moving on the daily basis , so i need to create a table in SQL Server, wilth 4 columns , Table name, OracleRowsCount, SqlRowCount,
    and Diff(OracleRowsCount - SqlRowCount) that will tell me the each table how many rows i have in Oracle, how many rows i have in SQL after ETL load, and different between them, something like that:
    Table Name  OracleRowsCount   SqlRowCount  Diff
    Customer                150                 150            
    0
    Sales                      2000                1998          
    2
    Devisions                 5                       5             
    0
    (I can add alot of SQL Tasks and variables per each table but it not seems logicly to do that, i tryid to find a way to deal with that in vb but i didn't find)
    What the simplest way to do it ?
    Thank you
    Best Regards
    Daniel

    Hi Daniel,
    According to your description, what you want is an indicator to show whether all the rows are inserted to the destination table. To achieve your goal, you can add a Row Count Transformation following the OLE DB Destination, and redirect bad rows to the Row
    Count Transformation. This way, we can get the count of the bad rows without redirecting these rows. Since the row count value is stored in a variable, we can create another string type variable to retrieve the row count value from the variable used by the
    Row Count Transformation, and then use a Send Mail Task to send the row count value in an email message body. You can also insert the row count value to the SQL Server table through Execute SQL Task. Then, you can check whether bad rows were generated in the
    package by querying this table.  
    Regards,
    Mike Yin
    TechNet Community Support

  • Passing table from ABAP to webservice using SOAP

    Hello:
    I am trying to pass table data from ABAP code to a webservice using SOAP.  I have seen many examples of passing single value parameters such as:
      DATA: osoap   TYPE REF TO CSoapDocument.
        GET REFERENCE OF p_refno INTO dref.
        CALL METHOD osoap->add_parameter
          EXPORTING
            direction  = CSoapConstants=>ic_param_in
            name       = 'ws_ref_no'
            value      = dref.
        CALL METHOD osoap->set_tag_name_format
          EXPORTING format = CSoapConstants=>ic_tagfmt_default.
    However I cannot find any code examples of passing table data to a webservice.  Can anyone provide a sample or documentation for how to pass table data to a webservice?
    Thanks,
    Craig

    Hi Craig
    i just posted this on SAPfans for you too!
    if you are not using PI, then follow this....
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/bb/ddb33d2ae46b3be10000000a114084/frameset.htm
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/9b/dad1ae3908ee44a5caf57e10918be9/frameset.htm
    this is converting XSD to ABAP....
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/de/705c3c3806af06e10000000a11402f/frameset.htm
    i have only used PI to do this via ABAP Proxies....

  • Table for Customizing and BASIS objects

    Hi all,
    Is there any table/view which stores a list of all customizing and BASIS objects created in the SAP system (something like table TADIR for programs)?
    I should be able to query against that table and find if a particular customizing objects exists or not.
    Regards,
    Saurabh

    Hi Saurabh,
    here in table SMODILOG...if u fatch data with condition...
    where ( OBJ_TYPE = 'CUSO' or
               OBJ_TYPE = 'ACGR' ) and
              OBJ_NAME <> Y*string or
              OBJ_NAME <>  z*string.
    This will get you the objects that you want.
    <b>Reward helpful answers with points,</b>
    Regards,
    Tejas

  • How to initiate a RFC fuction module from ABAP and push data to Java prgm

    I want to push the data from ABAP program to a java program, the RFC connection has to be initiated from ABAP. How can i do this.
    Kindly help me with a example program if possible.
    Thanks in advance.
    Sounder.

    Hi,
    If you are using JCo connector for the interface, then please look into this link
    http://www.sapdevelopment.co.uk/java/jco/bapi_jco.pdf
    aRs

  • Conversion of internal tables from ABAP to XML and Viceversa

    Hi ,
    I am writing a BAPI to pick the data from SAP system which gives its output to a .NET application. So, i designed XSD and i want the output of the BAPI according to that XSD rather than in the form of normal internal tables.
    Can any one please tell me what is the best way to do this ?
    I know very little about the simple transformations that are available in ABAP. Do we need to write our own transformation for the conversion of the internal tables to required XML format or do we already have transformations which take the internal tables and XSD to generate the XML required ?
    Also for again converting the XML document to ABAP do we need to write a new transformation ?
    Reward points are assured for all the replies.
    Regards,
    Srinivas.

    to convert internal table to xml format you could use CALL TRANSFORMATION key word
    data: xml_out type string .
    call transformation (`ID`)
                  source output = youritab
                  result xml xml_out.
    instead of ID (xslt program) you can desing your own xslt program to generate the xml in the desired format. ID is the standard delivered one

  • Count difference b/w forecast interface table(success rec)  and base table

    Hi all
    We did forecast conversion.
    We got wrong count while comparing count of successful loaded records of interface table(based on process_flag=5) and records inserted in base table .
    I used below querys
    1) to count the records successfully loaded into base table based on MRP_FORECAST_INTERFACE
    select count (* ) from MRP_FORECAST_INTERFACE where TO_CHAR( last_update_date,'DD-MON-YYYY HH24:MI:SS') between
    '20-MAR-2012 06:08:05' AND '20-MAR-2012 14:06:33'
    and process_status=5 -- shows 859022
    2) records hitted the base table at the same time
    SELECT count (* ) FROM MRP_FORECAST_DATES where last_update_date >sysdate-2 --851451
    I refer this document http://docs.oracle.com/cd/A85683_01/acrobat/mrptrm.pdf
    In that it written like this If records process_status =5 in MRP_FORECAST_INTERFACE table then the planning manager successfully loaded into base table..
    But why this count is different? Can any one help me on this...

    Hi all
    We did forecast conversion.
    We got wrong count while comparing count of successful loaded records of interface table(based on process_flag=5) and records inserted in base table .
    I used below querys
    1) to count the records successfully loaded into base table based on MRP_FORECAST_INTERFACE
    select count (* ) from MRP_FORECAST_INTERFACE where TO_CHAR( last_update_date,'DD-MON-YYYY HH24:MI:SS') between
    '20-MAR-2012 06:08:05' AND '20-MAR-2012 14:06:33'
    and process_status=5 -- shows 859022
    2) records hitted the base table at the same time
    SELECT count (* ) FROM MRP_FORECAST_DATES where last_update_date >sysdate-2 --851451
    I refer this document http://docs.oracle.com/cd/A85683_01/acrobat/mrptrm.pdf
    In that it written like this If records process_status =5 in MRP_FORECAST_INTERFACE table then the planning manager successfully loaded into base table..
    But why this count is different? Can any one help me on this...

  • Read DB2 tables from ABAP program

    Hi All,
    I have a requirement to read a DB2 table(in our landscape) from the ABAP program.  I appreciate any pointers.
    Thanks,
    Kiran.

    Connecting to an External database from SAP
    Step 1: Create an entry for the External database in DBCON table using Trxn: DBCA.
    Table: DBCON (Description of Database Connections)
    Field Name Description Value (For: E.g.:)
    CON_NAME Logical name for a database RAJ
    DBMS Database system MSS
    USER_NAME Database user <username>
    PASSWORD Password for setting up the connection to the database <pwd>/<pwd>
    CON_ENV Database-specific information for a database connection MSSQL_SERVER=depotserver MSSQL_DBNAME=HOF_INDORE
    DB_RECO Availability type for an open database connect
    Step 2: Now you can write code to connect to the external database…
    Your Sample code can be something like this……
    FUNCTION-POOL z_houston. "MESSAGE-ID ..
    DATA: BEGIN OF wa,
    c_locid(3),
    c_locname(50),
    c_locstate(5),
    END OF wa.
    FUNCTION z_houston_connect.
    ""Local interface:
    EXEC SQL.
    CONNECT TO 'RAJ' AS 'V'
    ENDEXEC.
    EXEC SQL.
    SET CONNECTION 'V'
    ENDEXEC.
    *- Get the data from MS-SQL Server
    EXEC SQL.
    open C1 for
    select
    loc_id,
    loc_name,
    loc_state
    from ho_loc_mast
    ENDEXEC.
    DO.
    EXEC SQL.
    FETCH NEXT C1 into :wa-c_locid, :wa-c_locname, :wa-c_locstate
    ENDEXEC.
    IF sy-subrc = 0.
    PERFORM loop_output.
    ELSE.
    EXIT.
    ENDIF.
    ENDDO.
    EXEC SQL.
    CLOSE C1
    ENDEXEC.
    ENDFUNCTION.
    *& Form LOOP_OUTPUT
    Output
    FORM loop_output .
    WRITE: /5 wa-c_locid, 10 wa-c_locname, 65 wa-c_locstate.
    CLEAR wa.
    ENDFORM. " LOOP_OUTPUT

  • Relation table from BW and SAP

    Hi Expert,
    Please help me about how to find the mapping of SAP table and BW table, I can not see the link of two place of SAP box and BW box.
    HieuLM

    Hi,
    Please note that there is no direct link between BW table fields and R/3 table fields.
    In RSOSFIELDMAP table, you can find the mapping between the datasource field(R/3 field) and the infobject in BW/BI system for a particular datasource and source system.
    Suppose VBELN field from R/3 has been used in a datasource and you want fo find the infobject in BW to which it has been mapped, then in this table, give VBELN as field and the particular source system name and execute. You would find the Infoobject that will be filled by this field.
    Now if you want to find the table of R/3 from where this field VBELN is coming, then take the datasource name from this BW table and go to R/3 system.
    If this is a LO datasource, go to LBWE and click on Maintenance for this datasource. You would get the list of fields which would start like MCVBAK VBELN. Here VBAK is table name.
    If it is a generic datasource, go to RSO2, give your datasource. From here based on table/ function module you should be able to find the source for this field.

  • To export pivot table from excel and save as picture using powershell

    I am trying to automate my work by attaching an excel file to email and send it across using powershell . But also, I want to paste the screenshot of  pivot table to my email body .
    One way to do it is to save only the pivot table as picture format like jpeg or png , then attach this picture to the email body .
    I am looking for an powershell script which will save my pivot table as picture format . I am using powershell V1.0
    please help .

    I'm not familiar with PowerShell script, we usually use VBA script within excel.
    The following article describes how to export Excel Range to a Picture File and attach it as the email body by VBA code, it might not be the answer you are looking for, but hope it will give you some inspirations.
    http://www.jpsoftwaretech.com/export-excel-range-to-a-picture-file/
    Also you can post your question to PowerShell forum to get better support.
    Best Regards,
    Wind Zhang

  • Convert an internal table from ABAP to an xml file on the Unix server

    I'm trying to convert an internal table to an xml file.  This file will be downloaded to a unix server.  Can someone help?

    Hello Linda,
    You can combine the code given by Mahalakshmi with something like this:
    CALL FUNCTION 'FILE_GET_NAME'
          EXPORTING
            logical_filename = 'YOUR_LOGICAL_FILE_NAME
            parameter_1      = l_file_name_xml
          IMPORTING
            file_name        = l_file_server
          EXCEPTIONS
            file_not_found   = 1
            OTHERS           = 2.
        IF sy-subrc = 0.
          TRY.
            OPEN DATASET l_file_server FOR OUTPUT. "<IN TEXT MODE> <ENCODING DEFAULT>.
          ENDTRY.
          IF sy-subrc = 0.
          LOOP AT lt_xml INTO ls_xml.
            TRANSFER ls_xml TO l_file_server.
          ENDLOOP.
          CLOSE DATASET l_file_server.
    ENDIF.
    ENDIF.
    You need to have the server path defined (look at the paths with tcode AL11) and the file logical name with tcode FILE
    Best regards,
    Andri

  • Export Table from ABAP Method

    Hello Experts,
    I have created one class which contains a method having one import parameter and one export parameter.Export parameter is of type table, say iTab
    In the code of the method, i called one RFC which has one table parameter. Ex.-
    method get_data.
    call function z_test
        Exporting
             name = 'AAA'
        Tables
             list = iTab.
    endmethod.
    But when I compile the method, it is showing me the error that "iTab is not a internal table, occurs specification is missing".
    Then I Used another internal table instead of iTab. Error was not came, but I am not understanding how to assign this new internal table to export parameter of a method.
    Thanks in Advance,
    Prashant Jagdale

    Hi Keshav,
    I tried using iTab type <Table_Name> in method signature and used
    TABLES
       LIST = ItAB[]
    But no success....Again Error - "iTab is not a internal table, occurs n specification is missing"
    when i declare another internal table inside method using type table of and assigned to list. No error comes but I am not understanding how to pass these values of newly created internal table to method's export parameter.
    Any help??
    Thanks in Advance,
    Prashant

  • Applying Support Pack in ABAP For Basis and ABAP components

    Hi,
    Can one please provide a document for appying support packs for ABAP and BASIS componets in SAP system.
    Thanks
    Arun

    Hello Arun
    http://www.sappoint.com/PHPWebUI/Documents/Applying%20Support%20Pack%20and%20Plug-ins.pdf
    http://www.sap-img.com/basis/apply-support-packs-to-my-sap-system.htm
    But, service.sap.com is always there, you must read Notes too for any procedure and strategy for applying support packs or infact to do anything in SAP.
    thanks
    Bhudev

  • Calling an existing webservice from ABAP ?

    I am trying to call an existing webservice from abap and cannot seem to get it right.
    We are on 640.
    What are the steps I need to follow ?
    The address of the test wsdl is http://obcbox:50000/EMWSApp/DCCGen?wsdl
    and http://obcbox:50000/wsnavigator/jsps/explorer.jsp?localWS=RU1XU0FwcC9zYXAuY29tJTJGRU1XU0FwcEVhci9FTVdTYXBwLmphcg%3D%3D
    I need to be able to send data to the dccGenerator so it can do its work.
    Any help would be greatly appreciated.
    Cheers Steve.

    The following code will call the web service and fill the data into internal table which was received from the Web service. This code will send & Receive the data from ABAP to Webservice.
    Change the Header detail as per your Webservice.
    REPORT  ZWORKORDER.
    * Author : Raja T
    * Company :******
    TYPES: BEGIN OF OUTTAB1 ,
      JOBCODE(20),
      COMPONENTCODE(20),
      ACCURATEHOURS(20),
      ACCURATECOST(20),
      LENGTH TYPE I,
       END OF OUTTAB1 .
    DATA: OUTTAB TYPE  TABLE OF OUTTAB1.
    DATA: TAB TYPE OUTTAB1.
    DATA: WF_O LIKE LINE OF OUTTAB .
    DATA: XSLT_ERR TYPE REF TO CX_XSLT_EXCEPTION .
    DATA: RLENGTH TYPE I,
          TXLEN TYPE STRING  .
    DATA: HTTP_CLIENT TYPE REF TO IF_HTTP_CLIENT .
    DATA: WF_STRING TYPE STRING .
    DATA: WF_STRING1 TYPE STRING .
    DATA: WF_PROXY TYPE STRING ,
          WF_PORT TYPE STRING .
    CLEAR WF_STRING .
    * Form the input string to send the Input Data to Web service.
    CONCATENATE
    '<?xml version="1.0" encoding="utf-8"?>'
    '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'
    '  <soap:Body>'
    '    <GetWorkOrder xmlns="http://*******erica.net/webservices/">'
    '      <nWorkOrder>2</nWorkOrder>'
    '      <nDistributorCode>4871</nDistributorCode>'
    '      <model>HM400</model>'
    '     <type>1 </type>'
    '    </GetWorkOrder>'
    '  </soap:Body>'
    '</soap:Envelope>'
    INTO WF_STRING .
    CLEAR :RLENGTH , TXLEN .
    RLENGTH = STRLEN( WF_STRING ) .
    MOVE: RLENGTH TO TXLEN .
    CLEAR: WF_PROXY, WF_PORT .
    CALL METHOD CL_HTTP_CLIENT=>CREATE
      EXPORTING
        HOST    = '192.168.1.41' "'http://****merica.net/webservices'
        SERVICE = '8080'
        SCHEME  = '1'
      IMPORTING
        CLIENT  = HTTP_CLIENT.
    HTTP_CLIENT->PROPERTYTYPE_LOGON_POPUP = HTTP_CLIENT->CO_DISABLED.
    CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
      EXPORTING
        NAME  = '~request_method'
        VALUE = 'POST'.
    CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
      EXPORTING
        NAME  = '~server_protocol'
        VALUE = 'HTTP/1.1'.
    CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
      EXPORTING
        NAME  = '~request_uri'
        VALUE = '/service/accurate/workorder.asmx?'.
    CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
      EXPORTING
        NAME  = 'Content-Type'
        VALUE = 'text/xml; charset=utf-8'.
    CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
      EXPORTING
        NAME  = 'Content-Length'
        VALUE = TXLEN.
    CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
      EXPORTING
        NAME  = 'SOAPAction'
        VALUE = 'http://********merica.net/webservices/GetWorkOrder'.
    CALL METHOD HTTP_CLIENT->REQUEST->SET_CDATA
      EXPORTING
        DATA   = WF_STRING
        OFFSET = 0
        LENGTH = RLENGTH.
    * Send the Input Data to Web service.
    CALL METHOD HTTP_CLIENT->SEND
      EXCEPTIONS
        HTTP_COMMUNICATION_FAILURE = 1
        HTTP_INVALID_STATE         = 2.
    * Receive the Input from Web Serice.
    CALL METHOD HTTP_CLIENT->RECEIVE
      EXCEPTIONS
        HTTP_COMMUNICATION_FAILURE = 1
        HTTP_INVALID_STATE         = 2
        HTTP_PROCESSING_FAILED     = 3.
    CLEAR WF_STRING1 .
    WF_STRING1 = HTTP_CLIENT->RESPONSE->GET_CDATA( ).
    DATA: LENGTH TYPE I.
    LENGTH = STRLEN( WF_STRING1 ).
    DATA: VALUE_FIELD TYPE NAME_KOMP.
    DATA: VALUE TYPE REF TO DATA.
    FIELD-SYMBOLS: <FS_CONVERTED_DATA>.
    DATA: TAB1 TYPE TABLE OF STRING.
    DATA: FROM_LENGTH TYPE I VALUE 1.
    DATA: TO_LENGTH TYPE I.
    DATA: DIFF TYPE I.
    DATA: START TYPE I VALUE 1.
    DO.
    * JOBCODE.
      SEARCH WF_STRING1 FOR 'JobCode=' . "STARTING AT START .
      IF SY-SUBRC <> 0.
        EXIT.
      ENDIF.
      FROM_LENGTH = SY-FDPOS .
      FROM_LENGTH = FROM_LENGTH  + 8.
      SEARCH WF_STRING1 FOR 'JobDescription=' ."STARTING AT START ..
      TO_LENGTH = SY-FDPOS .
      DIFF = TO_LENGTH - FROM_LENGTH .
      MOVE WF_STRING1+FROM_LENGTH(DIFF) TO TAB-JOBCODE.
      TO_LENGTH = DIFF + TO_LENGTH.
      SHIFT WF_STRING1 BY TO_LENGTH PLACES.
    * COMPONENT CODE
      SEARCH WF_STRING1 FOR 'ComponentCode=' .
      IF SY-SUBRC <> 0.
        EXIT.
      ENDIF.
      FROM_LENGTH = SY-FDPOS .
      FROM_LENGTH = FROM_LENGTH  + 14.
      SEARCH WF_STRING1 FOR 'ComponentDescription=' .
      TO_LENGTH = SY-FDPOS .
      DIFF = TO_LENGTH - FROM_LENGTH .
      MOVE WF_STRING1+FROM_LENGTH(DIFF) TO TAB-COMPONENTCODE.
      TO_LENGTH = DIFF + TO_LENGTH.
      SHIFT WF_STRING1 BY TO_LENGTH PLACES.
    * AccurateHours
      SEARCH WF_STRING1 FOR 'AccurateHours=' .
      IF SY-SUBRC <> 0.
        EXIT.
      ENDIF.
      FROM_LENGTH = SY-FDPOS .
      FROM_LENGTH = FROM_LENGTH  + 14.
      SEARCH WF_STRING1 FOR 'AccurateCost='.
      TO_LENGTH = SY-FDPOS .
      DIFF = TO_LENGTH - FROM_LENGTH .
      MOVE WF_STRING1+FROM_LENGTH(DIFF) TO TAB-ACCURATEHOURS.
      TO_LENGTH = DIFF + TO_LENGTH.
    *  AccurateCost
      SEARCH WF_STRING1 FOR 'AccurateCost='.
      FROM_LENGTH =  SY-FDPOS.
      FROM_LENGTH =  FROM_LENGTH + 13.
      SEARCH WF_STRING1 FOR '/>'.
      TO_LENGTH = SY-FDPOS.
      DIFF = TO_LENGTH - FROM_LENGTH .
      MOVE WF_STRING1+FROM_LENGTH(DIFF) TO TAB-ACCURATECOST.
      TO_LENGTH = DIFF + TO_LENGTH.
      SHIFT WF_STRING1 BY TO_LENGTH PLACES.
      APPEND TAB TO OUTTAB.
    ENDDO.
    WRITE: (10) 'JOBCODE'.
    WRITE (20) 'COMPONENTCODE'.
    WRITE (30) 'ACCURATEHOURS'.
    WRITE (40) 'ACCURATECOST'.
    LOOP AT OUTTAB INTO TAB.
      WRITE:/ TAB-JOBCODE .
      WRITE (20) TAB-COMPONENTCODE.
      WRITE (30) TAB-ACCURATEHOURS.
      WRITE (40) TAB-ACCURATECOST.
    ENDLOOP .
    Message was edited by:
            Raja T

Maybe you are looking for

  • Character Spacing in Photoshop CC does not work properly

    When I (as I have in Photoshop CS2,3,4,5,5.5 and 6) click in the letting menu and change the letting, it allows me to change it and then when I click enter, it jumps down to a completely different number.  I set it to 200 and hit enter and it drop to

  • Declaring deep types in ABAP code

    I am struggling with the declaration of local types in an ABAP program. When I declare a structure that contains a component which I reference to a previously declared table type, the system gives a compile error. The following code gives an error on

  • HT1368 how to download my whole wish list at one time

    how to download my whole wish list at one time. Used to be a button that you could click on and buy everything that was in your wish list I dont see that button anymore and it looks like know you have to click on each song one at a time is this right

  • Cannot dowload latest version of itunes

    why can't I dowload latest version of itunes,the dowload gets so far then message pops up about route to Bonjour.msi canno find this route

  • GST allocation to cost centers

    hi all,    in an invoice the GST from all line items will go to a single cost center, but my client wants to automatically distribute it to their respective cost centers entered in the line items with out manual entry ex: Itm PK ACC        Tx  Amt