Check interface

My client will be doing the invoice processing in the legacy systems, but want SAP to pay through check. To me this means 2 types of inbound interfaces to SAP: Vendor master and Vendor Invoice line item.
And after the payment is made, we need to send an electronic payment file back to the legacy systems.
Other option is to allow legacy system users to post the invoices directly in SAP, then we don't need any interface. But it is a financial/insurance company and they need to feed in more information than allowed in Standard SAP processing and want an ability to run a query based on some of those additional information fields like license number, contract number etc. We are planning to create additional screens to handle such additional information during invoice processing
Is there another better way to deal with this scenario?
Thanks
Ranjit
Edited by: Ron on Feb 24, 2009 7:15 PM

There are many ways for that.
1. SAP Netweaver - Web Application server (WAS)
2. Web Dynpro
3. ITS.
You can go with any of this.

Similar Messages

  • Test/QA check interface

    Hi all,
    Actually I wants to test my custom data link, for testing this I did the following steps in my debug build.
    1- I check "ON"
    Test->Links->test Missing Links chache
    in the Indesign cs2
    2- Now I click the menu Test->Links->test basic Interface
    Then I got a message dialog having message "ICoreFilename Interface is now broken"
    After clicking "OK" of this dialog I got another message dialog which having message "This IDataLink interface does not meet the minimum requirements"
    after that I got "test completed"
    But I am not able to get/trace these messages even I don't no much more about these tests.
    what are these tests and messages?.
    How I can trace/fix this problem in my code?
    What are the minimum requirements of the IDataLink?
    anybody knows about these Please let me know.

    Hi Alex
    For "Default Quality Assurance Check List" which is associated with OKC below are the set processes usually called
    Process ||          Package          ||          Procedure
    ===============      =================          ===========================
    Check Required Values     ||     OKC_QA_DATA_INTEGRITY     ||     CHECK_REQUIRED_VALUES
    Check Rule Groups     ||     OKC_QA_DATA_INTEGRITY     ||     CHECK_RULE_GROUPS
    Check Rule Group Parties||     OKC_QA_DATA_INTEGRITY     ||     CHECK_RULE_GROUP_PARTIES
    Check Effectivity Dates     ||     OKC_QA_DATA_INTEGRITY     ||     CHECK_EFFECTIVITY_DATES
    Check Configured Lines||           OKC_CFG_PUB          ||     CONFIG_QA_CHECK
    Check Price           ||     OKC_QA_PRICE_PVT     ||     CHECK_PRICE
    Check Email Address     ||     OKC_QA_GENERAL_CHECKLISTS||     CHECK_EMAIL_ADDRESS
    Check Address          ||     OKS_QA_DATA_INTEGRITY     ||     CHECK_ADDRESS
    Check Covered Line Qty||          OKC_QA_PRICE_PVT     ||     CHECK_COVERED_LINE_QTY
    Check Covered Line Qty||          OKC_QA_PRICE_PVT     ||     CHECK_COVERED_LINE_QTY
    Check Contract Terms     ||     OKC_TERMS_QA_GRP          || CHECK_TERMS
    For "Default Service Contracts Quality Assurance Check List" all the processes called are associated with procedures in the package OKS_QA_DATA_INTEGRITY
    All the packages are under APPS schema.
    Thanks
    Sid.

  • IRecruitment Background check Interface

    Hi,
    In iRecruitment what are the Names of the Tables Which contains Persons Criminal Information. Actually want to reterieve the following information
    Need to find out which tables holds the data to be populated in
    Persons Criminal Information (REL*Date Release Signed*Has Been Convicted Of Crime*Approx Conviction Date*Where Convicted)
    Services Information
    Reference Information (SVC*2*Reference*Company Name*City*State*Contact Name*Contact Phone)
    Need to have the final EDI file looks like as below
    APP*Last Name*First*Middle Name*Former Name*Phone*Cell*Email*SSN*DOB*Gendar
    ADDR*Address*City*State*Zip
    ADDRPRE*Address*City*State*Zip*Aka*Month Move out*Month Move in
    REL*Date Release Signed*Has Been Convicted Of Crime*Approx Conviction Date*Where Convicted
    SPI*Special instruction
    SVC*7*Criminal Search - National Search
    SVC*64*Criminal Search - Statewide
    SVC*178*Pre-Check Complete Criminal
    SVC*122*Drug Screen Collection
    SVC*6*Criminal Search - Single County
    SVC*31*Employment Verification*Company Name*City*State*Start Date*Ending Date*Contact Name*Contact Phone*Can Contact Emplyer?
    SVC*3*Education Verification*School Name*City*State*Graduation Year*Name on diplima*Degree Earned Major
    SVC*2*Reference*Company Name*City*State*Contact Name*Contact Phone
    APPE:Number of services RequestedThanks

    Hi,
    In iRecruitment what are the Names of the Tables Which contains Persons Criminal Information. Actually want to reterieve the following information
    Need to find out which tables holds the data to be populated in
    Persons Criminal Information (REL*Date Release Signed*Has Been Convicted Of Crime*Approx Conviction Date*Where Convicted)
    Services Information
    Reference Information (SVC*2*Reference*Company Name*City*State*Contact Name*Contact Phone)
    Need to have the final EDI file looks like as below
    APP*Last Name*First*Middle Name*Former Name*Phone*Cell*Email*SSN*DOB*Gendar
    ADDR*Address*City*State*Zip
    ADDRPRE*Address*City*State*Zip*Aka*Month Move out*Month Move in
    REL*Date Release Signed*Has Been Convicted Of Crime*Approx Conviction Date*Where Convicted
    SPI*Special instruction
    SVC*7*Criminal Search - National Search
    SVC*64*Criminal Search - Statewide
    SVC*178*Pre-Check Complete Criminal
    SVC*122*Drug Screen Collection
    SVC*6*Criminal Search - Single County
    SVC*31*Employment Verification*Company Name*City*State*Start Date*Ending Date*Contact Name*Contact Phone*Can Contact Emplyer?
    SVC*3*Education Verification*School Name*City*State*Graduation Year*Name on diplima*Degree Earned Major
    SVC*2*Reference*Company Name*City*State*Contact Name*Contact Phone
    APPE:Number of services RequestedThanks

  • RFC start on explicit host - fast sync interface options to iSeries

    Hi all,
    Sorry if this is going to be a bit long..
    Back on my old stomping grounds, times change, so do backend systems, we're now running SAP on Unix/Oracle with iseries SAP systems being phased out. This also meant that I moved from hardcore as400 techie to a more intermediate figure between application and real basis. Oh well.
    I have an interesting situation though. We need to establish an ATP check interface between Unix/Oracle CRM 5.0 and our legacy iseries application. ATP check is basically checking if stock is present for a customer order. The check is performed during ordering so it should be realtime and fast.
    A number of people with more money than knowledge decided the best bet was to implement a biztalk webservice between CRM and iseries. The webservice would call a stored procedure via jdbc. It'll work I'm convinced.
    We have been given until monday to come up with a good alternative (which basically means the weekend..)
    From an infrastructure point of view I do not want this at all for several reasons.
    Our main applications are SAP and legacy as400 with SAP XI in the middle, so at least if we use a intermediate system we should use XI. Introducing a new platform is foolish and bad for maintenance and support
    Since the interface should be lean and mean I'm thinking maybe bypass XI as well. Basically these are the options for this interface:
    1: CRM HTTP (RFC) to XI to as400 stored procedure
    2: CRM HTTP (RFC) to XI to apache webserver
    3: CRM HTTP RFC directly to iseries apache webserver
    option 2 could be useful if we have to do a lot of mapping in the interface (which I do not expect)
    Apache webservers call a iseries program which will (probably) send back back a XML with the stock info
    Then I looked into my old iseries on as400 redbook and found these two further options:
    4: Using a CPI-C connection from CRM to iseries for direct program call (SG244672 12.7.1)
    5: using a RFC connection from CRM to iseries for direct program call (SG244672 12.7.2)
    I'm not too familiar with cpi-c so I investigated the RFC option a bit. The tests I have done sofar have either failed because of firewall issues or because this option is not supported in certain system implementations (SAP on iseries 46d does not allow it
    The one issue I'm not certain about yet is whether the receiving iseries system needs a SAP gateway. Since it is completely legacy at the moment it has no SAP components at all. If I would have to install a SAP gateway for this I'm not sure if we're still lean and mean.
    So questions: is there any experience with option 5 to iseries? If option 5 does not seem feasible I'll probably advice to go to option 3, we have some experience with that and will also definitely work.
    Any other comments on these infrasructure scenario's are very welcome too!
    Thanks
    Tom
    Edited by: Tom van Rooyen on Apr 24, 2010 4:28 AM
    Edited by: Volker Gueldenpfennig on Apr 24, 2010 11:10 AM

    Hi Tom,
    tja, what shall we say ?
    if you are really interested in a VERY fast and "rock-stable" solution, RFC should be your friend ))
    We are having lots of eperience with your "option 5" ...
    We even support that
    You can have a look at:
    http://www.consolut.net/en/s/download/contool.html
    There are tools available, that could help you ... and they do work ... but I think, there is no documentation attached to that ...
    The biggest issue in my eyes is your timeframe and the current weekend ...
    We could definetely help you here and make it to a fast and reliable solution ...
    Regards
    Volker Gueldenpfennig, consolut international ag
    http://www.consolut.net - http://www.4soi.de - http://www.easymarketplace.de

  • No inbound interface available in interface determination.

    Hi Guys,
    I am doing File to web service scenario. I have completed all the steps required in Integration Repository. But in Integration directory while doing interface determination, I am not able to locate my inbound interface. It is showing message “No Object found”.
    I have checked interface mapping and in it I am using same outbound and inbound interface.
    I would appreciate yours inputs.

    Hi Sunil,
    You must have chosen Inbound and Outbound Interface for Interface Mapping in the Integration repository.
    Also, when you do you Interface Determintaion you must have chosen sender and receiver Interface. They have to be the same as described in the Integration repostiory for the Interface mapping to come up in ID.
    Please can you activate your Interface mapping again and try importing it into ID
    Regards
    Vijaya
    Message was edited by: vijaya kumari

  • "Unable to find inbound interface"

    Hi all,
    I have an error in sxmb_moni. Everytime I click on the red flag, I get the error, "Unable to find inbound interface". I already checked namespaces and SCV in IR. I also checked Interface Determination in ID. They are all correct. I have already tested my config in QAS, and everything went well. I'm having problems right now in PRD. Can somebody help me? thanks.
    When I run Test Tool Config, I get the following error:
    Interface Determination
    Thanks.
    Regards,
    IX

    Error when determining the inbound interface: Problem evaluating a condition: Exception
    CX_SWF_RLS_RULE occurred (program: CL_SWF_RLS_CONDITION==========CP, include:
    CL_SWF_RLS_CONDITION==========CM00Q, line: 160).
    Payload problem check these solved threads:
    Error
    Error in Receiver Determination
    regards,
    Abhishek

  • Xpath field details not getting displayed

    Hi all,
    I am working on a idoc to file scenario, where I want to refer the receiver to be determined based upon certain condition or values that get populated for a particular field (using receiver determination). But the problem is that when I click on the condition tab on receiver determination I get a warning "Problem loading schema description"
    with message as
    "Message interface does not exist in any software components installed on this business system"
    But since it is an Idoc at the source we dont have any msg interfaces, further if i neglect this warning message and go further, I am not getting the fields or details of the Idoc structure getting displayed in the xpath.
    But the same when I use for a file scenario(file as sender) I get the details of the context object if any.. Let me know how to resolve this..
    Thanks in advance
    Regards,
    Nithiyanandam

    Hi,
    Yes you coudl add the missing Software component as per below steps
    Even if you open Business system in Integration Directory, at last tab "Other Attributes" --> you will find the list of software components.
    Press the tab Third Party service to verify the list against SLD.
    If its not avaialbel in SLD
    1. Goto System Landscape Directory
    2. select Business Landscape and slect the apporpriate Business system and open it. (Click the name of BS)
    3. There you will get the list of Software components added in it.
    4. Verify the technical system name.
    5. Also verify if same technical system name is used after importing the software component in Integration Repository (IR).
    Goto IR -- > Explore the SCV -->Double click on name of software component version -->Check Interface Import as Import of RFC and have the same details  in Connection data as per technical system
    If everything is setup just refresh the SLD_CACH and import the scenario once again in Integration Directoy and process it.
    You will see the IDOC in Business system.
    Thanks
    Swarup
    Edited by: Swarup Sawant on Feb 4, 2008 8:00 AM

  • Cisco 3750 ping failures after stack upgrade

    I just updated my 4 stack of 3750X switches from 12.x IOS to 15.0.2 IOS. Only 2 of them updated correctly the first time, I had to manually update to the other 2. After getting all of them upgrade I restarted the entire stack.
    After that I cannot get PCs not on my default VLAN to talk to their DHCP servers or ping anywhere in the network. I get a "PING: transmit failed. General failure". I can however, ping into my default vlan from the switch and ping out to other locations from the switch.
    I've tried the following:
    Checking firewall status on several (WIN 7) pc's, it's off
    Changing ports on switch (no change)
    Restarting the PC (no change)
    Release/renew ipconfig (no change)
    flushdns (no change)
    clear ARP table on switch
    set un-set spanning-tree portfast (no change)
    check interface status (up and up)
    check vlan interface status (up and up)
    changed vlans (no change)
    checked VLAN help addresses (still there)
    Any help at this point is appreciated as my network is entirely down right now.

    I can set my laptop statically to a VLAN address, and I can ping out, get to the internet, ping between VLANs, etc. But if I just set a port (or leave it in the default VLAN) it will give me the “PING: transmit failed. General failure.” DHCP requests still aren’t getting fulfilled and even pings won’t go through if there’s not a statically set address. Nothing changed on my server configs and I even restarted my DHCP servers after encountered this problem. My guess is this is a new feature that’s turned on by default in the new IOS that needs to be disabled. Any help is appreciated.

  • Close the External Opend window on click of button

    Hi All,
    I have a parent window (A) and there is a button on click of that i am opening a another window as external window(B). Now on window B there is a button CLOSE and on that i want to close that external window. How can i achieve this?? i tried it using exit plug but i m not able to get the currently open windows URL.
    Thanks In Advance.

    Hi Prathamesh,
    I am not clear about your requirement - are you trying to use URL through EXTERNAL WINDOW or you are trying to use WNDOW EXIT?
    If its URL through External Window: following code might help--
    METHOD onactiongo.
    **-Created two radio buttons- SAP and Google. Select a radio button and click on GO button. Will redirect to the required URL
      DATA lo_nd_select_option TYPE REF TO if_wd_context_node.
      DATA lo_el_select_option TYPE REF TO if_wd_context_element.
      DATA ls_select_option TYPE wd_this->element_select_option.
      DATA lv_link TYPE wd_this->element_select_option-link.
    * navigate from <CONTEXT> to <SELECT_OPTION> via lead selection
      lo_nd_select_option = wd_context->get_child_node( name = wd_this->wdctx_select_option ).
    * get element via lead selection
      lo_el_select_option = lo_nd_select_option->get_element( ).
    * @TODO handle not set lead selection
      IF lo_el_select_option IS INITIAL.
      ENDIF.
    * get single attribute
      lo_el_select_option->get_attribute(
        EXPORTING
          name =  `LINK`
        IMPORTING
          value = lv_link ).
      DATA lo_window_manager TYPE REF TO if_wd_window_manager.
      DATA lo_api_component  TYPE REF TO if_wd_component.
      DATA lo_window         TYPE REF TO if_wd_window.
      lo_api_component  = wd_comp_controller->wd_get_api( ).
      lo_window_manager = lo_api_component->get_window_manager( ).
      CASE lv_link.
        WHEN 'SAP'.
          lo_window = lo_window_manager->create_external_window(
                      'http://sdn.sap.com').
          lo_window->open( ).
        WHEN 'GOOGLE'.
          lo_window = lo_window_manager->create_external_window( 'http://www.google.com' ).
          lo_window->open( ).
      ENDCASE.
    ENDMETHOD.
    If its WINDOW EXIT:
    1) Create EXIT button in VIEW.
    2) Go to WINDOWS -> Outbound Plug -> Give Plug Name (e.g: OUT_EXIT) -> Check INTERFACE -> Plug Type = EXIT.
        In same window, in "IMPORTING PARAMETER FROM OUT_EXT" -> Parameter = URL -> Associated Type = String
    3) Go to VIEW -> Properties -> Create Controller Usaged
    4) In "onAction event" of EXIT button, write the following code:
    DATA lo_window1 TYPE REF TO ig_window1 .
      lo_window1 =   wd_this->get_window1_ctr( ).
      lo_window1->fire_out_exit_plg( url = 'http://www.google.co.in' )

  • HOWTO: Create 2-node Solaris Cluster 4.1/Solaris 11.1(x64) using VirtualBox

    I did this on VirtualBox 4.1 on Windows 7 and VirtualBox 4.2 on Linux.X64. Basic pre-requisites are : 40GB disk space, 8GB RAM, 64-bit guest capable VirtualBox.
    Please read all the descriptive messages/prompts shown by 'scinstall' and 'clsetup' before answering.
    0) Download from OTN
    - Solaris 11.1 Live Media for x86(~966 MB)
    - Complete Solaris 11.1 IPS Repository Image (total 7GB)
    - Oracle Solaris Cluster 4.1 IPS Repository image (~73MB)
    1) Run VirtualBox Console, create VM1 : 3GB RAM, 30GB HDD
    2) The new VM1 has 1 NIC, add 2 more NICs (total 3). Setting the NIC to any type should be okay, 'VirtualBox Host Only Adapter' worked fine for me.
    3) Start VM1, point the "Select start-up disk" to the Solaris 11.1 Live Media ISO.
    4) Select "Oracle Solaris 11.1" in the GRUB menu. Select Keyboard layout and Language.
    VM1 will boot and the Solaris 11.1 Live Desktop screen will appear.
    5) Click <Install Oracle Solaris> from the desktop, supply necessary inputs.
    Default Disk Discovery (iSCSI not needed) and Disk Selection are fine.
    Disable the "Support Registration" connection info
    6) The alternate user created during the install has root privileges (sudo). Set appropriate VM1 name
    7) When the VM has to be rebooted after the installation is complete, make sure the Solaris 11.1 Live ISO is ejected or else the VM will again boot from the Live CD.
    8) Repeat steps 1-6, create VM2 and install Solaris.
    9) FTP(secure) the Solaris 11.1 Repository IPS and Solaris Cluster 4.1 IPS onto both the VMs e.g under /home/user1/
    10) We need to setup both the packages: Solaris 11.1 Repository and Solaris Cluster 4.1
    11) All commands now to be run as root
    12) By default the 'solaris' repository is of type online (pkg.oracle.com), that needs to be updated to the local ISO we downloaded :-
    +$ sudo sh+
    +# lofiadm -a /home/user1/sol-11_1-repo-full.iso+
    +//output : /dev/lofi/N+
    +# mount -F hsfs /dev/lofi/N /mnt+
    +# pkg set-publisher -G '*' -M '*' -g /mnt/repo solaris+
    13) Setup the ha-cluster package :-
    +# lofiadm -a /home/user1/osc-4_1-ga-repo-full.iso+
    +//output : /dev/lofi/N+
    +# mkdir /mnt2+
    +# mount -f hsfs /dev/lofi/N /mnt2+
    +# pkg set-publisher -g file:///mnt2/repo ha-cluster+
    14) Verify both packages are fine :-
    +# pkg publisher+
    PUBLISHER                   TYPE     STATUS P LOCATION
    solaris                     origin   online F file:///mnt/repo/
    ha-cluster                  origin   online F file:///mnt2/repo/
    15) Install the complete SC4.1 package by installing 'ha-cluster-full'
    +# pkg install ha-cluster-full+
    14) Repeat steps 12-15 on VM2.
    15) Now both VMs have the OS and SC4.1 installed.
    16) By default the 3 NICs are in the "Automatic" profile and have DHCP configured. We need to activate the Fixed profile and put the 3 NICs into it. Only 1 interface, the public interface, needs to be
    configured. The other 2 are for the cluster interconnect and will be automatically configured by scinstall. Execute the following commands :-
    +# netadm enable -p ncp defaultfixed+
    +//verify+
    +# netadm list -p ncp defaultfixed+
    +#Configure the public-interface+
    +#Verify none of the interfaces are listed, add all the 3+
    +# ipadm show-if+
    +# run dladm show-phys or dladm show-link to check interface names : must be net0/net1/net2+
    +# ipadm create-ip net0+
    +# ipadm create-ip net1+
    +# ipadm create-ip net2+
    +# ipadm show-if+
    +//select proper IP and configure the public interface. I have used 192.168.56.171 & 172+
    +# ipadm create-addr -T static -a 192.168.56.171/24 net0/publicip+
    +#IP plumbed, restart+
    +# ipadm down-addr -t net0/publicip+
    +# ipadm up-addr -t net0/publicip+
    +//Verify publicip is fine by pinging the host+
    +# ping 192.168.56.1+
    +//Verify, net0 should be up, net1/net2 should be down+
    +# ipadm+
    17) Repeat step 16 on VM2
    18) Verify both VMs can ping each other using the public IP. Add entries to each other's /etc/hosts
    Now we are ready to run scinstall and create/configure the 2-node cluster
    19)
    +# cd /usr/cluster/bin+
    +# ./scinstall+
    select 1) Create a new cluster ...
    select 1) Create a new cluster
    select 2) Custom in "Typical or Custom Mode"
    Enter cluster name : mycluster1 (e.g)
    Add the 2 nodes : solvm1 & solvm2 and press <ctrl-d>
    Accept default "No" for <Do you need to use DES authentication>"
    Accept default "Yes" for <Should this cluster use at least two private networks>
    Enter "No" for <Does this two-node cluster use switches>
    Select "1)net1" for "Select the first cluster transport adapter"
    If there is warning of unexpected traffic on "net"1, ignore it
    Enter "net1" when it asks corresponding adapter on "solvm2"
    Select "2)net2" for "Select the second cluster transport adapter"
    Enter "net2" when it asks corresponding adapter on "solvm2"
    Select "Yes" for "Is it okay to accept the default network address"
    Select "Yes" for "Is it okay to accept the default network netmask"Now the IP addresses 172.16.0.0 will be plumbed in the 2 private interfaces
    Select "yes" for "Do you want to turn off global fencing"
    (These are SATA serial disks, so no fencing)
    Enter "Yes" for "Do you want to disable automatic quorum device selection"
    (we will add quorum disks later)
    Enter "Yes" for "Proceed with cluster creation"
    Select "No" for "Interrupt cluster creation for cluster check errors"
    The second node will be configured and 2nd node rebooted
    The first node will be configured and rebootedAfter both nodes have rebooted, verify the cluster has been created and both nodes joined.
    On both nodes :-
    +# cd /usr/cluster/bin+
    +# ./clnode status+
    +//should show both nodes Online.+
    At this point there are no quorum disks, so 1 of the node's will be designated quorum vote. That node VM has to be up for the other node to come up and cluster to be formed.
    To check the current quorum status, run :-
    +# ./clquorum show+
    +//one of the nodes will have 1 vote and other 0(zero).+
    20)
    Now the cluster is in 'Installation Mode' and we need to add a quorum disk.
    Shutdown both the nodes as we will be adding shared disks to both of them
    21)
    Create 2 VirtualBox HDDs (VDI Files) on the host, 1 for quorum and 1 for shared filesystem. I have used a size of 1 GB for each :-
    *$ vboxmanage createhd --filename /scratch/myimages/sc41cluster/sdisk1.vdi --size 1024 --format VDI --variant Fixed*
    *0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%*
    *Disk image created. UUID: 899147b9-d21f-4495-ad55-f9cf1ae46cc3*
    *$ vboxmanage createhd --filename /scratch/myimages/sc41cluster/sdisk2.vdi --size 1024 --format VDI --variant Fixed*
    *0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%*
    *Disk image created. UUID: 899147b9-d22f-4495-ad55-f9cf15346caf*
    22)
    Attach these disks to both the VMs as shared type
    *$ vboxmanage storageattach solvm1 --storagectl "SATA" --port 1 --device 0 --type hdd --medium /scratch/myimages/sc41cluster/sdisk1.vdi --mtype shareable*
    *$ vboxmanage storageattach solvm1 --storagectl "SATA" --port 2 --device 0 --type hdd --medium /scratch/myimages/sc41cluster/sdisk2.vdi --mtype shareable*
    *$ vboxmanage storageattach solvm2 --storagectl "SATA" --port 1 --device 0 --type hdd --medium /scratch/myimages/sc41cluster/sdisk1.vdi --mtype shareable*
    *$ vboxmanage storageattach solvm2 --storagectl "SATA" --port 2 --device 0 --type hdd --medium /scratch/myimages/sc41cluster/sdisk2.vdi --mtype shareable*
    The disks are attached to SATA ports 1 & 2 of each VM. On my VirtualBox on Linux, the controller type is "SATA", whereas on Windows it is "SATA Controller".
    The "--mtype shareable' parameter is important
    23)
    Mark both disks as shared :-
    *$ vboxmanage modifyhd /scratch/myimages/sc41cluster/sdisk1.vdi --type shareable*
    *$ vboxmanage modifyhd /scratch/myimages/sc41cluster/sdisk2.vdi --type shareable*
    24) Start both VMs. We need to format the 2 shared disks
    25) From VM1, run format. In my case, the 2 new shared disks show up as 'c7t1d0' and 'c7t2d0'.
    +# format+
    select disk 1 (c7t1d0)
    [disk formated]
    FORMAT MENU
    fdisk
    Type 'y' to accept default partition
    partition
    0
    <enter>
    <enter>
    1
    995mb
    print
    label
    <yes>
    quit
    quit26) Repeat step 25) for the 2nd disk (c7t2d0)
    27) Make sure the shared disks can be used for quorum :-
    On VM1
    +# ./cldevice refresh+
    +# ./cldevice show+
    On VM2
    +# ./cldevice refresh+
    +# ./cldevice show+
    The shared disks should have the same DID (d2,d3,d4 etc). Note down the DID that you are going to use for quorum (e.g d2)
    By default, global fencing is enabled for these disks. We need to turn it off for all disks as these are SATA disks :-
    +# cldevice set -p default_fencing=nofencing-noscrub d1+
    +# cldevice set -p default_fencing=nofencing-noscrub d2+
    +# cldevice set -p default_fencing=nofencing-noscrub d3+
    +# cldevice set -p default_fencing=nofencing-noscrub d4+
    28) It is better to do one more reboot of both VMs, otherwise I got a error when adding the quorum disk
    29) Run clsetup to add quorum disk and to complete cluster configuration :-
    +# ./clsetup+
    === Initial Cluster Setup ===
    Enter 'Yes' for "Do you want to continue"
    Enter 'Yes' for "Do you want add any quorum devices"
    Select '1) Directly Attached Shared Disk' for the type of device
    Enter 'Yes' for "Is it okay to continue"
    Enter 'd2' (or 'd3') for 'Which global device do you want to use'
    Enter 'Yes' for "Is it okay to proceed with the update"
    The command 'clquorum add d2' is run
    Enter 'No' for "Do you want to add another quorum device"
    Enter 'Yes' for "Is it okay to reset "installmode"?"Cluster initialization is complete.!!!
    30) Run 'clquorum status' to confirm both nodes and the quorum disk have 1 vote each
    31) Run other cluster commands to explore!
    I will cover Data services and shared file system in another post. Basically the other shared disk
    can be used to create a UFS filesystem and mount it on all nodes.

    The Solaris Cluster 4.1 Installation and Concepts Guide are available at :-
    http://docs.oracle.com/cd/E29086_01/index.html
    Thanks.

  • ABAP Service Users  not working - important

    Hi,
    I installed finally BPC 75 NW, and I cannto get ito the application for the 1° time because I have several issues.... I get the error "The user ID, password  cannot be authenticated. Make sure you entered valid credentials".
    On Server Mgr. i get 2 errors " Sap server connection : database connection"  and "ms message queue:  queue name:  .private$BPCstatusmessagequeue".
    I have done eveything in order to solve this... but... after a lot of research I found a note where it is suggested to uninstall, however I still want to change some parameters as described in the installation guide, I hope you can please help me to clear this:
    Manual, page 43, installation for NW.
    - ABAP service users can be locked as a result of the install.
    - Check and unlock users, use SU01, press Ctrl + F5  (done, not a problem)
    - Check that COM + Components exist (done)
    - Check interfaces (this means changes in Pooling & Recycling?)
    - Check that librfc32.dll is set up appropiately (I had the problem during install where i needed to reassign this dll, now is not an issue  unless there is something else to check that i am not aware of)
    - IIS Port (80 by default right?)
    - ServerConfiguration.config for the correct username and system info (cant find this file)
    - Registry Entries on 32 and 64 bits (how can I do this)
    - Check C:windowssytem32driversetchosts file to ensure that a fully qualified domain and IP resolution exists (what exactly do i need to check)
    On server mgr also I have for  COM+ components " domain system administrator with which i installed  & password"   is this right?
    Thanx in advance, it is really important.
    Velázquez

    Hi,
    Thanx for the feedback !! really appreciate it. Here is the response:
    The COM components are ok, as well as the MSMQ and every other component you mentioned (also reinstalled it). I reactivated all "dictionary" to the 3 users created in ABAP, changed role to communication, and give SAP_ALL permission.
    In the machine, changed the Default web site to port 81 (to let BPC website take port 80)
    Reinstalled  NET 2.0, set all components for BPC website to Net 2.0
    Created the 3 abap users in domain and gave in both systems  the same password.
    Entered in the machine as the administrator user (also administrator in Netweaver) and started the installation without trouble.
    After that, tried to run the server diagnostic but this user was lacking permits, so I added the 3 users (abap) in the local machine as administrators, in a  new group called BPC (only giving the administrator role). Entered now in the machine as BPC_SYSADMIN and ran the Server Diagnostic without trouble.
    After doing this, I now am facing an issue trying to add users to the 1° appset... choosing the domain users... however someone mentioned that this is related to the NET tier, is it better to reinstall this tier completely or at least try with NET 1.1, but im just about to find out.
    Thanx again for the response.
    Velázquez

  • ABAP Code Modification for Command Tickets

    Hi Experts
    Modification to processing of Command Orders & Tickets
    We require a modification to the processing being performed on sales data originating from the Command Concrete system and potentially from other systems yet to come online (e.g. Reddies Cement plant).
    The Sap process involved is
    ZINT_INBOUND_POLLING and within that,
    ZINT_CSTPORD_ROUTINES.
    The problem
    Currently there is an assumption that every sales order (and its deliveries) will include a product which is made to order, i.e. for which a production order will be required.
    In ZINT_CSTPORD_ROUTINES, a check is made to identify the production order linked to the sales order. If there is no such production order (usually because of the customeru2019s credit status) then processing of the ticket is terminated.
    This assumption would fall down if an order was to be raised (in Command) on which there is no concrete material. For example, if we sold a bag of pigment or a screed to a customer. In this case the item would be sold from stock and there would be no need for a production order
    The solution
    In the routine which checks for the existence of a production order, modify the code as follows:
    Inspect each item on the sales order
    If (and only if) there is at least one item with a category of u201CZTACu201D then check for a production order, otherwise process the order in the usual manner.
    The following Coding of programs are below.
    Report:      ZINT_INBOUND_POLLING
    Description: REDDIES Interfaces: Polling Job for Inbound Interfaces
    This report is a general file polling and distribution job for
    inbound interfaces. Interfaces are identified by their assigned ID
    and type values (refer to table ZINT_ADMIN). The polling job can be
    run only for a single interface. This restriction has been implemented
    for performance reasons. Dependent interfaces should be set up as
    separate, dependent jobs in SM37.
    For an interface to be triggered by this report, it must have:
    1. Administrative parameters entered in table ZINT_ADMIN.
    2. Other parameters (eg. organisational data such as plant or store)
       entered in table ZINT_PARAM.
    3. An interface-specific function module created in accordance with
       the inbound interface template (ZINT_INBOUND_INTERFACE).
    4. An interface-specific directory structure. This structure must
       be reflected in the directory parameters of table ZINT_ADMIN.
       Note that the directory names supplied in ZINT_ADMIN must exactly
       match those used for the actual directories.
    This job is designed to run as a periodic background job, but can
    also be run on-line when required.
    On each execution, the program performs the following tasks:
    1. Validate all selection parameters.
    2. Read interface administration and other parameters.
    3. Check the inbound directory to see if there are any new files.
    4. If there is a new file.
    4.1 Read the data and update the interface log.
    4.2 Archive the data and update the interface log.
    4.3 Call the interface function module, sending data and parameters.
    4.4 Log any messages returned from the function module.
    5. Exit.
    Please document all changes to this job carefully and clearly. Major
    additions to functionality should be put in new, parameterised form
    routines wherever possible to sustain maintainablility of the code.
    Change History:
    Date        User  Request     Description
    07/02/2006  EDWG  WG1K902600  Original program.
    20.07.2007  ROBS              Changes to handle error messages better.
    report zint_inbound_polling line-size  170
                                line-count 58(2)
                                message-id zz
                                no standard page heading.
    Global Data Declarations
    include zint_interface_data.
    data: begin of tbl_messages occurs 0,
            line(132) type c,
          end of tbl_messages.
    --Field Symbols--
    field-symbols: <function>.
    --Global Variables--
    Selection Screen
    --Interface Mode--
    RJS Start >>>
    selection-screen begin of block b1 with frame title t_mode.
    parameters: p_upl radiobutton group p1.
    selection-screen skip 1.
    select-options: s_intid for zint_intid-zint_id
                      matchcode object zint_intid,
                    s_intty for zint_intty-zint_ty
                      matchcode object zint_intty.
    selection-screen uline.
    parameters:  p_pro radiobutton group p1.
    selection-screen skip 1.
    RJS End <<<
    Interface ID
    parameters: p_intid like zint_intid-zint_id
                                matchcode object zint_intid.
    Interface type
    parameters: p_intty like zint_intty-zint_ty
                                matchcode object zint_intty
                                default 'I'.
    IDOC group or set
    parameters: p_intis type zint_is.
    select-options: s_datum for zint_data-created_on.
    selection-screen skip 1.
    parameters: p_dlgrp as checkbox default c_false.
    data: p_alone(1) type c value 'X'.
    selection-screen skip 1.
    Interface parameter set and sequence number.
    parameters: p_intsi like zint_param-zint_si,
                p_intsq type zint_sq default '001' no-display.
    selection-screen uline.
    parameters: p_apsrv radiobutton group r1,
                p_pc    radiobutton group r1.
    selection-screen skip 1.
    parameters: p_nowar as checkbox default c_true.
    selection-screen end   of block b1.
    Event Processing
    --IDOC Set Values--
    at selection-screen on value-request for p_intis.
    Display a selectable list of parameter sets
      perform select_idoc_set using    p_intid
                                       p_intty
                              changing p_intis
                                       v_rtcod.
      if v_rtcod ne c_noerr.
       Problem displaying parameter lists
        message i000 with 'Unable to display IDOC set values.'
                          'Please enter an interface ID and type.'.
      endif.
    --Parameter Set Values-----
    at selection-screen on value-request for p_intsi.
    Display a selectable list of parameter sets
      perform select_parameter_set using    p_intid
                                            p_intty
                                   changing p_intsi
                                            v_rtcod.
      if v_rtcod ne c_noerr.
       Problem displaying parameter lists
        message i000 with 'Unable to display parameter list values.'
                          'Please enter an interface ID and type.'.
      endif.
    --Check Interface Admin.---
    at selection-screen on: p_intty, p_intid.
      perform validate_interface_admin using    p_intid
                                                p_intty
                                       changing v_rtcod.
      if v_rtcod ne c_noerr.
      No administration parameters exist for interface
        message e001 with p_intid p_intty.
      endif.
    --Validate Parameter Set---
    at selection-screen on p_intsi.
      perform validate_interface_param using    p_intid
                                                p_intty
                                                p_intsi
                                       changing v_rtcod.
      if v_rtcod ne c_noerr.
      Parameter set does not exist for interface
        message e002 with p_intsi p_intid p_intty.
      endif.
    Initialisation
    initialization.
      perform set_screen_texts.
    Start of Selection
    start-of-selection.
    RJS Start >>>
      refresh: tbl_totals, tbl_messages.
    UPLOAD INBOUND DATA ---------------------
      if p_upl = 'X'.
        perform upload_data.
    PROCESS NEW or ERRORS -------------------
      else.   " p_pro = 'X'.
        perform process_data.
      endif.
    RJS End <<<
    End of Selection
    end-of-selection.
    Write the log file to the specified directory
      read table t_ibfil index 1.
      perform write_log_file tables   t_ldata
                             using    s_admin-zint_lg
                                      t_ibfil-filename
                                      p_apsrv
                             changing v_rtcod.
      if v_rtcod ne c_noerr.
      Error writing to log file
        message i000 with 'Could not write to log file for interface'
                          s_admin-zint_id '/' s_admin-zint_ty.
      endif.
    RJS Start >>>
    Write out Messages and totals
      if p_pro = 'X'.  " Processing Data
        describe table tbl_messages lines sy-tfill.
        if sy-tfill = 0.
          write:/ 'Processing Complete. Use ZSTA to analyse'.
        else.
          loop at tbl_messages.
            write:/ tbl_messages-line.
          endloop.
        endif.
      else.  " Uploading Data
        format color col_total.
        uline.
          write:/ 'Upload Details:', 132 space.
        uline.
        format color off.
        describe table tbl_totals lines sy-tfill.
        if sy-tfill = 0.
          write:/ '0 Records Processed'.
        endif.
        loop at tbl_totals.
          write:/ 'Interface ID:', tbl_totals-zint_id,
                  '     Type:', tbl_totals-zint_ty,
                  '     Command Date:', tbl_totals-created_on,
                  '     Records Processed:', tbl_totals-count.
        endloop.
        uline.
        message s999(b1) with 'Data Upload Completed'
                              '- Please see full Results uing trans ZSTA'.
      endif.
    RJS End <<<
    Form Routines
      include zint_interface_routines.
    *&      Form  upload_data
          text
    form upload_data.
      data: lt_admin type standard table of zint_admin with header line.
      data: l_message(80) type c.
      select * from zint_admin into table lt_admin
        where zint_id in s_intid
        and   zint_ty in s_intty.
      loop at lt_admin.
        refresh t_idata.
        refresh t_ibfil.
    Progress Message
        concatenate 'Reading Inbound data files in'
                    lt_admin-zint_ib
          into l_message separated by space.
        call function 'SAPGUI_PROGRESS_INDICATOR'
          exporting
          PERCENTAGE       = 0
            text             = l_message.
    Check for a new inbound file and read its data.
        perform read_inbound_data tables   t_idata
                                           t_ibfil
                                  using    lt_admin-zint_ib
                                           p_apsrv
                                  changing v_rtcod.
        if v_rtcod         ne c_noerr and
           v_rtcod         ne 7 and               " RJS- no files found
           lt_admin-zint_ib ne space.
      Write an error to the log
          perform write_log_entry
            tables t_ldata
            using  'E'
                   'ZINT_INBOUND_POLLING'
                   'READ_INBOUND_DATA'
                   'Problem reading inbound interface file.'
                   p_nowar space.
          exit.
        endif.
    Exit if there is no data.
        describe table t_idata lines v_fldsz.
        check v_fldsz gt 0.
    Write inbound data to a database table, for later access
        perform write_data tables t_idata
                           using lt_admin-zint_id
                                 lt_admin-zint_ty
                                 lt_admin-zint_fm
                                 lt_admin-zint_ib.
    Move the inbound file to the archive directory
        perform archive_inbound_data tables   t_ibfil
                                     using    p_apsrv
                                              lt_admin-zint_ar
                                              lt_admin-zint_ib
                                     changing v_rtcod.
        if v_rtcod ne c_noerr.
      Write an error to the log if unable to move file
          perform write_log_entry
            tables t_ldata
            using  'E'
                   'ZINT_INBOUND_POLLING'
                   'ARCHIVE_INBOUND_DATA'
                   'Problem archiving inbound interface file.'
                   p_nowar space.
        endif.
      endloop.
    endform.                    "upload_data
    *&      Form  process_data
          text
    form process_data.
      data: lt_idata type standard table of x_idata with header line.
      data: s_idata type x_idata,
            l_last_status(3) type c.
      data: l_message(80) type c,
            l_status(3) type c,
            l_lines(5) type c,
            l_date(10) type c.
    Validate input parameters
      if p_intid = space
      or p_intty = space
      or p_intsi = space.
        message e999(b1) with 'Mandatory fields must be filled'.
      endif.
    Read the interface administration parameters
      perform get_admin_parameters using    p_intid
                                            p_intty
                                   changing s_admin
                                            v_rtcod.
      if v_rtcod ne c_noerr.
      Write an error to the log
        perform write_log_entry
          tables t_ldata
          using  'E'
                 'ZINT_INBOUND_POLLING'
                 'GET_ADMIN_PARAMETERS'
                 'No admin. parameters for interface. Check ZINT_ADMIN'
                 p_nowar space.
      endif.
    Read the other interface parameters (if required)
      if p_intsi ne space.
        perform get_other_parameters tables   t_param
                                     using    p_intid
                                              p_intty
                                              p_intsi
                                     changing v_rtcod.
        if v_rtcod ne c_noerr.
        Write an error to the log
          perform write_log_entry
            tables t_ldata
            using  'E'
                   'ZINT_INBOUND_POLLING'
                   'GET_OTHER_PARAMETERS'
                   'No org. parameters for interface. Check ZINT_ADMIN'
                   p_nowar space.
        endif.
      endif.
    Read any Error records for reprocessing - if none, read New data
      perform read_data tables t_zint_data
                        changing v_rtcod.
      clear l_status.
      loop at t_zint_data.
    Create subset of all records, per Command Date
        at new created_on.
          refresh t_idata.
          clear l_lines.
        endat.
        at new key_val.
          add 1 to l_lines.
        endat.
        append t_zint_data-raw_data to t_idata.
    Process one date at a time
        at end of created_on.
    Progress Message:
          write t_zint_data-created_on to l_date dd/mm/yyyy.
          concatenate 'Processing' l_lines 'records for'
                      p_intid '/' p_intty '/' p_intsi 'Created:'
                      l_date
            into l_message separated by space.
          call function 'SAPGUI_PROGRESS_INDICATOR'
            exporting
              text = l_message.
    Process the incoming data
          assign s_admin-zint_fm to <function>.
          call function <function>
            exporting
              i_zint_id             = p_intid
              i_zint_ty             = p_intty
              i_zint_si             = p_intsi
              i_zint_is             = p_intis
              i_zint_dl             = p_dlgrp
              i_zint_as             = p_apsrv
              i_zint_al             = p_alone
              i_zint_nw             = p_nowar
              i_zint_sq             = p_intsq
            tables
              t_zint_mslog          = t_ldata
              t_zint_idata          = t_idata
              t_zint_param          = t_param
            changing
              c_zint_rc             = v_rtcod
            exceptions
              no_such_interface     = 1
              invalid_parameter_set = 2
              data_table_empty      = 3
              invalid_idoc_group    = 4.
          case sy-subrc.
    --No Such Interface--
            when 1.
              perform write_log_entry
                tables t_ldata
                using  'E' 'ZINT_INBOUND_POLLING' <function>
                       'Interface does not exist in ZINT_ADMIN.'
                       p_nowar space.
    --Invalid Parameter Set----
            when 2.
              perform write_log_entry
                tables t_ldata
                using  'E' 'ZINT_INBOUND_POLLING' <function>
                       'Invalid parameter set for interface. Check ZINT_PARAM'
                       p_nowar space.
    --Data Table Empty--
            when 3.
              perform write_log_entry
                tables t_ldata
                using  'E' 'ZINT_INBOUND_POLLING' <function>
                       'No inbound data. Check directory as per ZINT_ADMIN'
                       p_nowar space.
    --Invalid IDOC group--
            when 4.
              perform write_log_entry
                tables t_ldata
                using 'E' 'ZINT_INBOUND_POLLING' <function>
                      'Invalid IDOC group. Check ZINT_ADMIN.'
                      p_nowar space.
    --Others--
            when others.
          endcase.
    Now store messages not related to a specific key
          loop at t_ldata into s_ldata where key_val = space.
            move s_ldata-messg to tbl_messages-line.
            append tbl_messages.
          endloop.
          refresh t_ldata.
    If data for last date had errors, then stop processing further dates
          clear l_last_status.
          select status from zint_data into l_last_status
            where zint_id = p_intid
            and   zint_ty = p_intty
            and   key_val = t_zint_data-key_val.
          endselect.
          if l_last_status = 'ERR'.
            concatenate 'Processing Halted - Errors for Date' l_date
              into l_message separated by space.
            message s999(b1) with 'ZINT_INBOUND_POLLING' <function>
                     l_message.
            exit.
          endif.
        endat.
      endloop.
    endform.                    "process_data
    *&      Form  set_screen_texts
          Assign values to the selection screen titles.
    form set_screen_texts .
      t_mode  = 'Run Mode'.                                     " RJS
    endform.                    " set_screen_texts
    RJS Start >>>
    *&      Form  write_data
          Save the Inbound data to table ZINT_DATA, for later processing
         -->PT_IDATA   text
         -->PV_ID      text
         -->PV_TY      text
         -->PV_FM
         -->PV_IB
    form write_data tables pt_idata structure zint_idata
                    using  pv_id
                           pv_ty
                           pv_fm
                           pv_ib.
      data: l_key_val    like zint_data-key_val,
            l_seq        like zint_data-sequence,
            l_created_on like zint_data-created_on,
            l_counter    type i.
      data: lt_zint_data type standard table of zint_data with header line.
      get time.
      clear l_created_on.
      refresh lt_zint_data.
      loop at pt_idata.
        clear lt_zint_data.
        lt_zint_data-zint_id    = pv_id.
        lt_zint_data-zint_ty    = pv_ty.
        lt_zint_data-status     = 'NEW'.
    Derive both the "Key" value (KEY_VAL) and the
    "Command Data Date" value (CREATED_ON) to store on the Data table
        case pv_fm.
          when 'ZINT_INBOUND_INTERFACE_CSSORDR'.
            if pt_idata-zint_re(2) = '01'.
              perform get_command_order_key using pt_idata-zint_re
                                                  l_key_val
                                                  l_created_on.
            endif.
          when 'ZINT_INBOUND_INTERFACE_CSTPORD'.
            if pt_idata-zint_re(2) = '01'.
              perform get_prod_order_key using pt_idata-zint_re
                                               l_key_val
                                               l_created_on.
            endif.
          when 'ZINT_INBOUND_INTERFACE_CSTGISS'.
            perform get_sales_order_key using pt_idata-zint_re
                                            l_key_val.
        endcase.
        lt_zint_data-created_on = l_created_on.
        lt_zint_data-key_val    = l_key_val.
        lt_zint_data-length     = strlen( pt_idata-zint_re ).
        lt_zint_data-raw_data   = pt_idata-zint_re.
        append lt_zint_data.
      endloop.
    Setup the sequence number for each key value
      loop at lt_zint_data.
        at new key_val.
          clear l_seq.
        endat.
        add 1 to l_seq.
        lt_zint_data-sequence = l_seq.
        modify lt_zint_data.
      endloop.
    Check for existing data with this same key
      clear l_counter.
      select count(*) from zint_data into l_counter
        for all entries in lt_zint_data
        where zint_id    = lt_zint_data-zint_id
        and   zint_ty    = lt_zint_data-zint_ty
        and   created_on = lt_zint_data-created_on
        and   key_val    = lt_zint_data-key_val
        and   sequence   = lt_zint_data-sequence.
    Found duplicate data?
      if l_counter > 0.
    Yes: so remove these records from the input table
        loop at lt_zint_data.
          clear l_counter.
          select count(*) from zint_data into l_counter
            where zint_id    = lt_zint_data-zint_id
            and   zint_ty    = lt_zint_data-zint_ty
            and   created_on = lt_zint_data-created_on
            and   key_val    = lt_zint_data-key_val
            and   sequence   = lt_zint_data-sequence.
          if l_counter > 0.
            delete lt_zint_data.
          endif.
        endloop.
        message i999(b1) with 'Data already exists in SAP! Directory:' pv_ib
                              'Key:' lt_zint_data-key_val.
      endif.
    Now save whatever is not a duplicate
      loop at lt_zint_data.
    Store new data records
        insert zint_data from lt_zint_data.
    and Store totals for reporting
        tbl_totals-zint_id    = lt_zint_data-zint_id.
        tbl_totals-zint_ty    = lt_zint_data-zint_ty.
        tbl_totals-created_on = lt_zint_data-created_on.
        tbl_totals-count      = 1.
        collect tbl_totals.
      endloop.
    endform.                    "write_data
    *&      Form  get_command_order_key
          Extract Command Order from raw data
         -->L_LINE     text
         -->L_KEY      text
    form get_command_order_key using l_line l_key l_date.
      data: l_orddate    type d,
            l_order(12)  type n,
            l_data(3000) type c,
            l_shortorder(5) type n.
      l_data = l_line.
      perform extract_field(saplzint_csord)
        using    l_data
        changing l_data
                 l_orddate.
      perform extract_field(saplzint_csord)
        using    l_data
        changing l_data
                 l_order.
      l_shortorder = l_order.
      if l_order le 9999.
        concatenate l_orddate+2(6) '-'
                    l_shortorder
          into      l_key.
      else.
        concatenate l_orddate+2(6)
                    l_shortorder
          into      l_key.
      endif.
      l_date = l_orddate.
    endform.                    "get_command_order_key
    *&      Form  get_prod_order_key
          Extract Commant Ticket number from raw data
         -->L_LINE     text
         -->L_KEY      text
    form get_prod_order_key using l_line l_key l_date.
      data: l_ticketdate type d,
            l_data(3000) type c,
            l_ticket(10) type n.
      l_data = l_line.
      perform extract_field(saplzint_cstik)
        using    l_data
        changing l_data
                 l_ticketdate.
      perform extract_field(saplzint_cstik)
        using    l_data
        changing l_data
                 l_ticket.
      l_key = l_ticket.
      l_date = l_ticketdate.
    endform.                    "get_prod_order_key
    *&      Form  get_sales_order_key
          text
         -->L_LINE     text
         -->L_KEY      text
    form get_sales_order_key using l_line l_key.
      l_key = l_line(10).
    endform.                    "get_sales_order_key
    *&      Form  read_data
          Read data from custom table
         -->PT_ZINT_DATA   text
         -->P_STATUS   text
    form read_data tables pt_zint_data structure zint_data
                   changing p_rtcod.
      data: lt_zint_data type standard table of zint_data with header line.
      data: l_found_rec(1) type c.
      clear p_rtcod.
      refresh: pt_zint_data, lt_zint_data.
    Read stored data in date/time order
      select * from zint_data into table lt_zint_data
        where zint_id = p_intid
        and   zint_ty = p_intty
        and   status in ('ERR','NEW')
        and   created_on in s_datum
        order by created_on key_val sequence.
    Always ensure any existing Error records are re-processed first.
      loop at lt_zint_data where status = 'ERR'.
        move lt_zint_data to pt_zint_data.
        append pt_zint_data.
    Store totals for reporting
        tbl_totals-zint_id    = p_intid.
        tbl_totals-zint_ty    = p_intty.
        tbl_totals-created_on = lt_zint_data-created_on.
        tbl_totals-count      = 1.
        collect tbl_totals.
      endloop.
    Loop through the NEW records - add to list if no other errors
      loop at lt_zint_data where status = 'NEW'.
        l_found_rec = 'N'.
        loop at pt_zint_data where status = 'ERR'
                             and   created_on <> lt_zint_data-created_on.
          l_found_rec = 'Y'.
          exit.
        endloop.
    Found no errors for another date - so add NEW data
        if l_found_rec = 'N'.
          move lt_zint_data to pt_zint_data.
          append pt_zint_data.
    Store totals for reporting
          tbl_totals-zint_id    = p_intid.
          tbl_totals-zint_ty    = p_intty.
          tbl_totals-created_on = lt_zint_data-created_on.
          tbl_totals-count      = 1.
          collect tbl_totals.
        endif.
      endloop.
    endform.                    "read_data
                      UNDER THIS THERE IS BELOW PROGRAM
    *&  Include           ZINT_CSTPORD_ROUTINES                            *
    Report:      ZINT_CSTPORD_ROUTINES
    Description: REDDIES Interfaces: COMMAND-SAP Interface Forms (Tickets)
    Routines fpr the COMMAND-SAP production order interface. Note: some
    of the code in this file has been directly copied from the original
    interface (ZPPU_COMMAND_PRODUCTION, Jason Moore, Extend). This has
    been done for two reasons: (1) the code works and (2) to save time.
    Change History:
    Date        User  Request     Description
    13/02/2006  EDWG  WG1K902600  Original program.
    *&      Form  process_inbound_data
          Create prod. orders from ticket data extracted from the COMMAND
          system. Note that large portions of the code in this routine
          have been copied from the retired ZPPU_COMMAND_PRODUCTION
          interface program. This was done (1) because the old code works
          and (2) to save development time.
         -->T_ZINT_IDATA  Internal table of interface data
         -->T_ZINT_PARAM  Internal table of interface parameters
         -->T_ZINT_MSLOG  Internal table of messages
         -->P_ZINT_ID     Interface ID
         -->P_ZINT_TY     Inteface type
         -->P_ZINT_IS     IDOC group for interface
         -->P_ZINT_DL     Flag: delete IDOC group when complete
         -->P_ZINT_AL     Flag: run in standalone mode
         -->P_ZINT_NW     Flag: do not log warning messages
         -->P_ZINT_SQ     Interface sequence number
         <--P_ZINT_RC     Return code (<>0=>error)
    form process_inbound_data  tables   t_zint_idata structure zint_idata
                                        t_zint_param structure zint_param
                                        t_zint_mslog structure zint_mslog
                               using    p_zint_id    type      zint_id
                                        p_zint_ty    type      zint_ty
                                        p_zint_is    type      zint_is
                                        p_zint_dl    type      zint_dl
                                        p_zint_al    type      zint_al
                                        p_zint_nw    type      zint_nw
                                        p_zint_sq    type      zint_sq
                               changing p_zint_rc    type      zint_rc.
      data: lva_partner(10)   type n,
            lva_cmdord(12)    type n,
            lva_prodmat(18)   type n,
            lva_filemat(18)   type n,
            lva_prodord(12)   type n,
            lwa_file          type ty_file,
            lva_type(2)       type c,
            lva_satsur        type c,
            lva_mincart       type c,
            lva_text(200)     type c,
            lva_counter       type i,
            bblines           type i,
            lva_shortorder(5) type n,
            lva_loggr         like marc-loggr,
            lva_saleord       like vbkd-vbeln,
            lva_linkindex     like sy-tabix,
            lva_xabln         like likp-xabln,
            lva_vbeln         like likp-vbeln,
            l_vbfa            like vbfa,
            lva_igmng         like caufv-igmng,
            lva_gamng         like caufv-gamng,
            lva_qdiff         like caufv-gamng,
            lva_ltxa1         like afru-ltxa1,
            lva_aufnr         like afru-aufnr,
            lva_wemng         like afpo-wemng,
            lva_psmng         like afpo-psmng,
            lva_rsnum         like resb-rsnum,
            lva_rspos         like resb-rspos,
            l

    Hi ,
    Modify your code like this .
    DATA: YEARS TYPE TFMATAGE,
    MONTHS TYPE TFMATAGE.
    *declare the variable as type Char
    DATA: Y_NUM(4) TYPE c,
    M_NUM(2) TYPE c.
    IF NOT SOURCE_FIELDS-/BIC/ZDOB IS INITIAL.
    CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
    EXPORTING
    I_DATE_FROM = SOURCE_FIELDS-/BIC/ZDOB
    I_DATE_TO = SY-DATUM
    I_FLG_SEPARATE = 'X'
    IMPORTING
    E_MONTHS = MONTHS
    E_YEARS = YEARS.
    Y_NUM = YEARS.
    M_NUM = MONTHS.
    CONCATENATE Y_NUM '.' M_NUM INTO RESULT.
    This will solve your problem.
    MM

  • Connectivity loss

    Hi 
    There are some projectors  it shows connected but when i ping i cant reach 
    I tried extended ping from  the same vlan , no success .
    i tried to ping broadcast address no success.
    it works only when do a port shut or no shut 
    What could be the problem 
    Please help 
    Thank you 

    Hi Akash
    The projector connected on a layer 3650x which is connected to the distribution switch using trunk .
    Actually i  am not following   that " you can check interface counters both sides to check direction of packet drop."   Please kindly explain 
    I checked the arp entry on distribution side , i did not find anything . The arp entry available only after shut or no shut on the interface . 
    Does a faulty cable can be the cause of the problem ? 
    Thank you 

  • General userexit before save of adrc-data

    Hi there!
    I need a common userexit to save additional data each time adrc-data is saved.
    This can be changed or new adress data if there's a new customer as well as there's a new built in equipment for example.
    Is there such an always valid userexit for saved adrc-data?
    I've found the SZRS0003 (adress check interface for external components). Could this be a solution in my case? What i have to do in this case... Do i have to switch on the external adress check anywhere?
    Thanks in advance for any help.
    Cheers, Ingo

    Hi!
    I've moved this question to the enhancement-section 'cause i think it's better there
    Cheers, Ingo

  • Freight units / Deliveries with zero quantities in TPVS

    Hi Gurus,
    we are prototyping TPVS  optimizer but facing one problem of zero quantity for freight units in Transfer orders  to OLTP / OLTP generation of deliveries.
    Reason in the log says requested quantity not completely available but there is plenty of stock.
    if we go ahead in TPVS and create delivery then delivery will have zero qty,  for the same sales order if we create delivery in ECC then there is no issue.
    Thanks,
    kumar

    Hi Rax,
    Please check /sapapo/cp1 whether you have assigned the Publication type 340 for deliveries and 330 for shipments for the deliverying location (plant or DC) and logical system of R/3.
    Please Check Interface settings assign R/3 logical system and shipment type for the Means of transport and the shipment will be outbound. Mapping of APO means of transport (Transportation resource) assigned to R/3 means of transport (Vehicle).
    If these settings are fine then it should work.
    Please revert for query.
    I hope this helps you.
    Regards,
    Kishore Reddy.

Maybe you are looking for

  • Unable to run postclone script in Web tier

    Hi guys, I am trying to clone an existing Oracle Ebsuiness Suite 12.1.3 environment. Now I am trying to execute command: perl adcfgclone.pl appsTier in the Web tier node, but I am getting next error message: Executing script in InstantiateFile: /oram

  • Audio not working.... please help!

    Alot of the time when I talk on my phone I use the headset for hands free, but recently I've been having a major problem. After I unplug the headphones, the phone still recognizes them as being plugged in(pressing the volume buttons on the side cause

  • Mac Pro 4870, 8800, 3870 for FCP?

    Hi, I was looking at getting a 4870 for my Mac Pro. I want the best performance for FCP - rendering, Color, exporting with compressor etc... It seems the 4870 is the fastest but then I was wondering if the 8800 under the upcoming new os release would

  • Secured dimensions - member access profile

    Hi, I have following question concerning secured dimensions As you all know, you can secure dimenions using "modify applications". There you have the options for "secure" of "R/W" If you choose to secure a dimension, you have the option read only and

  • IVI FGEN problems with HP 33120A

    Hi, I'm trying to control a HP 33120A using IVI through CVI. The basics work well, but when I try to do arbitrary waveforms of amplitude modulation if get errors. I have include the code snipets with error handling removed for brevity. Unfortunately