Data transfer format

Hi All,
I heard that the data for some fields in an Idoc have to be in special format. For instance, the quantity field should be "13 digits, 1 dec. point and 1 sign, left-justified". For example ‘302.35_________’ or ‘302.35-________’" and the MATNR field in the idoc type - WMMBID02 should be "numeric with leading zeros". For instance "000000000012345678".
I am using JCO to create an idoc object with java and then send it to SAP system.
My question is should I convert the data in the exact format mentioned above? or the format is only used in particular circumstance.
Thanks,
Dennis

Thanks, Denis.
But my question is if I need to convert the data into the special format? Not How.
For instance, the value I have is 10 and do I need to convert it into "10.00              "?
Thanks,
Dennis

Similar Messages

  • FCHX - External data transfer  file format

    FCHX - External data transfer  creates a one line row of AP checks. I need to convert this flat file to bank format specifications. I have a program to do this. My problem is how do I convert the one line row into multiple line rows so I can use this in my conversion program.

    Hi Kotta
    What for you have created structure? is it for BP or IO or CA?
    These are the Std structures provided by SAP for loading master data:
    rkct994 - BCA Insurance SENDER
    rkct995 - Insurance Object
    rkct996 - Contract Data
    rkct997 - Partner Data SENDER
    All these structures contains AKTYP field in it.
    Can you post more details.

  • How to find the max data transfer rate(disk speed) supported by mobo?

    I plan on replacing my current HDD with a new and bigger HDD.
    For this I need to know the max data transfer rate(disk speed) that my mobo will support. However, dmidecode is not telling me that. Am I missing something?
    Here's dmidecode:
    # dmidecode 2.11
    SMBIOS 2.5 present.
    80 structures occupying 2858 bytes.
    Table at 0x000F0450.
    Handle 0xDA00, DMI type 218, 101 bytes
    OEM-specific Type
    Header and Data:
    DA 65 00 DA B2 00 17 4B 0E 38 00 00 80 00 80 01
    00 02 80 02 80 01 00 00 A0 00 A0 01 00 58 00 58
    00 01 00 59 00 59 00 01 00 75 01 75 01 01 00 76
    01 76 01 01 00 05 80 05 80 01 00 D1 01 19 00 01
    00 15 02 19 00 02 00 1B 00 19 00 03 00 19 00 19
    00 00 00 4A 02 4A 02 01 00 0C 80 0C 80 01 00 FF
    FF 00 00 00 00
    Handle 0xDA01, DMI type 218, 35 bytes
    OEM-specific Type
    Header and Data:
    DA 23 01 DA B2 00 17 4B 0E 38 00 10 F5 10 F5 00
    00 11 F5 11 F5 00 00 12 F5 12 F5 00 00 FF FF 00
    00 00 00
    Handle 0x0000, DMI type 0, 24 bytes
    BIOS Information
    Vendor: Dell Inc.
    Version: A17
    Release Date: 04/06/2010
    Address: 0xF0000
    Runtime Size: 64 kB
    ROM Size: 4096 kB
    Characteristics:
    PCI is supported
    PNP is supported
    APM is supported
    BIOS is upgradeable
    BIOS shadowing is allowed
    ESCD support is available
    Boot from CD is supported
    Selectable boot is supported
    EDD is supported
    Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
    3.5"/720 kB floppy services are supported (int 13h)
    Print screen service is supported (int 5h)
    8042 keyboard services are supported (int 9h)
    Serial services are supported (int 14h)
    Printer services are supported (int 17h)
    ACPI is supported
    USB legacy is supported
    BIOS boot specification is supported
    Function key-initiated network boot is supported
    Targeted content distribution is supported
    BIOS Revision: 17.0
    Handle 0x0100, DMI type 1, 27 bytes
    System Information
    Manufacturer: Dell Inc.
    Product Name: OptiPlex 755
    Version: Not Specified
    UUID: 44454C4C-5900-1050-8033-C4C04F434731
    Wake-up Type: Power Switch
    SKU Number: Not Specified
    Family: Not Specified
    Handle 0x0200, DMI type 2, 8 bytes
    Base Board Information
    Manufacturer: Dell Inc.
    Product Name: 0PU052
    Version:
    Handle 0x0300, DMI type 3, 13 bytes
    Chassis Information
    Manufacturer: Dell Inc.
    Type: Space-saving
    Lock: Not Present
    Version: Not Specified
    Asset Tag:
    Boot-up State: Safe
    Power Supply State: Safe
    Thermal State: Safe
    Security Status: None
    Handle 0x0400, DMI type 4, 40 bytes
    Processor Information
    Socket Designation: CPU
    Type: Central Processor
    Family: Xeon
    Manufacturer: Intel
    ID: 76 06 01 00 FF FB EB BF
    Signature: Type 0, Family 6, Model 23, Stepping 6
    Flags:
    FPU (Floating-point unit on-chip)
    VME (Virtual mode extension)
    DE (Debugging extension)
    PSE (Page size extension)
    TSC (Time stamp counter)
    MSR (Model specific registers)
    PAE (Physical address extension)
    MCE (Machine check exception)
    CX8 (CMPXCHG8 instruction supported)
    APIC (On-chip APIC hardware supported)
    SEP (Fast system call)
    MTRR (Memory type range registers)
    PGE (Page global enable)
    MCA (Machine check architecture)
    CMOV (Conditional move instruction supported)
    PAT (Page attribute table)
    PSE-36 (36-bit page size extension)
    CLFSH (CLFLUSH instruction supported)
    DS (Debug store)
    ACPI (ACPI supported)
    MMX (MMX technology supported)
    FXSR (FXSAVE and FXSTOR instructions supported)
    SSE (Streaming SIMD extensions)
    SSE2 (Streaming SIMD extensions 2)
    SS (Self-snoop)
    HTT (Multi-threading)
    TM (Thermal monitor supported)
    PBE (Pending break enabled)
    Version: Not Specified
    Voltage: 0.0 V
    External Clock: 1333 MHz
    Max Speed: 5200 MHz
    Current Speed: 2666 MHz
    Status: Populated, Enabled
    Upgrade: Socket LGA775
    L1 Cache Handle: 0x0700
    L2 Cache Handle: 0x0701
    L3 Cache Handle: Not Provided
    Serial Number: Not Specified
    Asset Tag: Not Specified
    Part Number: Not Specified
    Core Count: 2
    Core Enabled: 2
    Thread Count: 2
    Characteristics:
    64-bit capable
    Handle 0x0700, DMI type 7, 19 bytes
    Cache Information
    Socket Designation: Not Specified
    Configuration: Enabled, Not Socketed, Level 1
    Operational Mode: Write Back
    Location: Internal
    Installed Size: 32 kB
    Maximum Size: 32 kB
    Supported SRAM Types:
    Other
    Installed SRAM Type: Other
    Speed: Unknown
    Error Correction Type: None
    System Type: Data
    Associativity: 8-way Set-associative
    Handle 0x0701, DMI type 7, 19 bytes
    Cache Information
    Socket Designation: Not Specified
    Configuration: Enabled, Not Socketed, Level 2
    Operational Mode: Varies With Memory Address
    Location: Internal
    Installed Size: 6144 kB
    Maximum Size: 6144 kB
    Supported SRAM Types:
    Other
    Installed SRAM Type: Other
    Speed: Unknown
    Error Correction Type: Single-bit ECC
    System Type: Unified
    Associativity: <OUT OF SPEC>
    Handle 0x0800, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: PARALLEL
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: DB-25 female
    Port Type: Parallel Port PS/2
    Handle 0x0801, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: SERIAL1
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: DB-9 male
    Port Type: Serial Port 16550A Compatible
    Handle 0x0802, DMI type 126, 9 bytes
    Inactive
    Handle 0x0803, DMI type 126, 9 bytes
    Inactive
    Handle 0x0804, DMI type 126, 9 bytes
    Inactive
    Handle 0x0805, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB1
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x0806, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB2
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x0807, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB3
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x0808, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB4
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x0809, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB5
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x080A, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB6
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x080B, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB7
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x080C, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB8
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x080D, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: ENET
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: RJ-45
    Port Type: Network Port
    Handle 0x080E, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: MIC
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Mini Jack (headphones)
    Port Type: Audio Port
    Handle 0x080F, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: LINE-OUT
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Mini Jack (headphones)
    Port Type: Audio Port
    Handle 0x0810, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: LINE-IN
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Mini Jack (headphones)
    Port Type: Audio Port
    Handle 0x0811, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: HP-OUT
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Mini Jack (headphones)
    Port Type: Audio Port
    Handle 0x0812, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: MONITOR
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: DB-15 female
    Port Type: Video Port
    Handle 0x090A, DMI type 9, 13 bytes
    System Slot Information
    Designation: SLOT1
    Type: x1 Proprietary
    Current Usage: In Use
    Length: Long
    Characteristics:
    PME signal is supported
    Handle 0x0901, DMI type 126, 13 bytes
    Inactive
    Handle 0x0902, DMI type 9, 13 bytes
    System Slot Information
    Designation: SLOT2
    Type: 32-bit PCI
    Current Usage: Available
    Length: Long
    ID: 2
    Characteristics:
    5.0 V is provided
    3.3 V is provided
    PME signal is supported
    Handle 0x0903, DMI type 126, 13 bytes
    Inactive
    Handle 0x0904, DMI type 126, 13 bytes
    Inactive
    Handle 0x0905, DMI type 126, 13 bytes
    Inactive
    Handle 0x0906, DMI type 126, 13 bytes
    Inactive
    Handle 0x0907, DMI type 126, 13 bytes
    Inactive
    Handle 0x0908, DMI type 126, 13 bytes
    Inactive
    Handle 0x0A00, DMI type 10, 6 bytes
    On Board Device Information
    Type: Video
    Status: Disabled
    Description: Intel Graphics Media Accelerator 950
    Handle 0x0A02, DMI type 10, 6 bytes
    On Board Device Information
    Type: Ethernet
    Status: Enabled
    Description: Intel Gigabit Ethernet Controller
    Handle 0x0A03, DMI type 10, 6 bytes
    On Board Device Information
    Type: Sound
    Status: Enabled
    Description: Intel(R) High Definition Audio Controller
    Handle 0x0B00, DMI type 11, 5 bytes
    OEM Strings
    String 1: www.dell.com
    Handle 0x0D00, DMI type 13, 22 bytes
    BIOS Language Information
    Language Description Format: Long
    Installable Languages: 1
    en|US|iso8859-1
    Currently Installed Language: en|US|iso8859-1
    Handle 0x0F00, DMI type 15, 29 bytes
    System Event Log
    Area Length: 2049 bytes
    Header Start Offset: 0x0000
    Header Length: 16 bytes
    Data Start Offset: 0x0010
    Access Method: Memory-mapped physical 32-bit address
    Access Address: 0xFFF01000
    Status: Valid, Not Full
    Change Token: 0x00000018
    Header Format: Type 1
    Supported Log Type Descriptors: 3
    Descriptor 1: POST error
    Data Format 1: POST results bitmap
    Descriptor 2: System limit exceeded
    Data Format 2: System management
    Descriptor 3: Log area reset/cleared
    Data Format 3: None
    Handle 0x1000, DMI type 16, 15 bytes
    Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: None
    Maximum Capacity: 8 GB
    Error Information Handle: Not Provided
    Number Of Devices: 4
    Handle 0x1100, DMI type 17, 27 bytes
    Memory Device
    Array Handle: 0x1000
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM_1
    Bank Locator: Not Specified
    Type: DDR2
    Type Detail: Synchronous
    Speed: 667 MHz
    Manufacturer: AD00000000000000
    Handle 0x1101, DMI type 17, 27 bytes
    Memory Device
    Array Handle: 0x1000
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM_3
    Bank Locator: Not Specified
    Type: DDR2
    Type Detail: Synchronous
    Speed: 667 MHz
    Handle 0x1102, DMI type 17, 27 bytes
    Memory Device
    Array Handle: 0x1000
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM_2
    Bank Locator: Not Specified
    Type: DDR2
    Type Detail: Synchronous
    Speed: 667 MHz
    Handle 0x1103, DMI type 17, 27 bytes
    Memory Device
    Array Handle: 0x1000
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM_4
    Bank Locator: Not Specified
    Type: DDR2
    Type Detail: Synchronous
    Speed: 667 MHz
    Handle 0x1300, DMI type 19, 15 bytes
    Memory Array Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x000FDFFFFFF
    Range Size: 4064 MB
    Physical Array Handle: 0x1000
    Partition Width: 1
    Handle 0x1400, DMI type 20, 19 bytes
    Memory Device Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x0007FFFFFFF
    Range Size: 2 GB
    Physical Device Handle: 0x1100
    Memory Array Mapped Address Handle: 0x1300
    Partition Row Position: 1
    Interleave Position: 1
    Interleaved Data Depth: 1
    Handle 0x1401, DMI type 20, 19 bytes
    Memory Device Mapped Address
    Starting Address: 0x00080000000
    Ending Address: 0x000FDFFFFFF
    Range Size: 2016 MB
    Physical Device Handle: 0x1101
    Memory Array Mapped Address Handle: 0x1300
    Partition Row Position: 1
    Interleave Position: 1
    Interleaved Data Depth: 1
    Handle 0x1402, DMI type 20, 19 bytes
    Memory Device Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x0007FFFFFFF
    Range Size: 2 GB
    Physical Device Handle: 0x1102
    Memory Array Mapped Address Handle: 0x1300
    Partition Row Position: 1
    Interleave Position: 2
    Interleaved Data Depth: 1
    Handle 0x1403, DMI type 20, 19 bytes
    Memory Device Mapped Address
    Starting Address: 0x00080000000
    Ending Address: 0x000FDFFFFFF
    Range Size: 2016 MB
    Physical Device Handle: 0x1103
    Memory Array Mapped Address Handle: 0x1300
    Partition Row Position: 1
    Interleave Position: 2
    Interleaved Data Depth: 1
    Handle 0x1410, DMI type 126, 19 bytes
    Inactive
    Handle 0x1800, DMI type 24, 5 bytes
    Hardware Security
    Power-On Password Status: Enabled
    Keyboard Password Status: Not Implemented
    Administrator Password Status: Enabled
    Front Panel Reset Status: Not Implemented
    Handle 0x1900, DMI type 25, 9 bytes
    System Power Controls
    Next Scheduled Power-on: *-* 00:00:00
    Handle 0x1B10, DMI type 27, 12 bytes
    Cooling Device
    Type: Fan
    Status: OK
    OEM-specific Information: 0x0000DD00
    Handle 0x1B11, DMI type 27, 12 bytes
    Cooling Device
    Type: Fan
    Status: OK
    OEM-specific Information: 0x0000DD01
    Handle 0x1B12, DMI type 126, 12 bytes
    Inactive
    Handle 0x1B13, DMI type 126, 12 bytes
    Inactive
    Handle 0x1B14, DMI type 126, 12 bytes
    Inactive
    Handle 0x2000, DMI type 32, 11 bytes
    System Boot Information
    Status: No errors detected
    Handle 0x8100, DMI type 129, 8 bytes
    OEM-specific Type
    Header and Data:
    81 08 00 81 01 01 02 01
    Strings:
    Intel_ASF
    Intel_ASF_001
    Handle 0x8200, DMI type 130, 20 bytes
    OEM-specific Type
    Header and Data:
    82 14 00 82 24 41 4D 54 01 01 00 00 01 A5 0B 02
    00 00 00 00
    Handle 0x8300, DMI type 131, 64 bytes
    OEM-specific Type
    Header and Data:
    83 40 00 83 14 00 00 00 00 00 C0 29 05 00 00 00
    F8 00 4E 24 00 00 00 00 0D 00 00 00 02 00 03 00
    19 04 14 00 01 00 01 02 C8 00 BD 10 00 00 00 00
    00 00 00 00 FF 00 00 00 00 00 00 00 00 00 00 00
    Handle 0x8800, DMI type 136, 6 bytes
    OEM-specific Type
    Header and Data:
    88 06 00 88 5A 5A
    Handle 0xD000, DMI type 208, 10 bytes
    OEM-specific Type
    Header and Data:
    D0 0A 00 D0 01 03 FE 00 11 02
    Handle 0xD100, DMI type 209, 12 bytes
    OEM-specific Type
    Header and Data:
    D1 0C 00 D1 78 03 07 03 04 0F 80 05
    Handle 0xD200, DMI type 210, 12 bytes
    OEM-specific Type
    Header and Data:
    D2 0C 00 D2 F8 03 04 03 06 80 04 05
    Handle 0xD201, DMI type 126, 12 bytes
    Inactive
    Handle 0xD400, DMI type 212, 242 bytes
    OEM-specific Type
    Header and Data:
    D4 F2 00 D4 70 00 71 00 00 10 2D 2E 42 00 11 FE
    01 43 00 11 FE 00 0F 00 25 FC 00 10 00 25 FC 01
    11 00 25 FC 02 12 00 25 FC 03 00 00 25 F3 00 00
    00 25 F3 04 00 00 25 F3 08 00 00 25 F3 0C 07 00
    23 8F 00 08 00 23 F3 00 09 00 23 F3 04 0A 00 23
    F3 08 0B 00 23 8F 10 0C 00 23 8F 20 0E 00 23 8F
    30 0D 00 23 8C 40 A6 00 23 8C 41 A7 00 23 8C 42
    05 01 22 FD 02 06 01 22 FD 00 8C 00 22 FE 00 8D
    00 22 FE 01 9B 00 25 3F 40 9C 00 25 3F 00 09 01
    25 3F 80 A1 00 26 F3 00 A2 00 26 F3 08 A3 00 26
    F3 04 9F 00 26 FD 02 A0 00 26 FD 00 9D 00 11 FB
    04 9E 00 11 FB 00 54 01 23 7F 00 55 01 23 7F 80
    5C 00 78 BF 40 5D 00 78 BF 00 04 80 78 F5 0A 01
    A0 78 F5 00 93 00 7B 7F 80 94 00 7B 7F 00 8A 00
    37 DF 20 8B 00 37 DF 00 03 C0 67 00 05 FF FF 00
    00 00
    Handle 0xD401, DMI type 212, 172 bytes
    OEM-specific Type
    Header and Data:
    D4 AC 01 D4 70 00 71 00 03 40 59 6D 2D 00 59 FC
    02 2E 00 59 FC 00 6E 00 59 FC 01 E0 01 59 FC 03
    28 00 59 3F 00 29 00 59 3F 40 2A 00 59 3F 80 2B
    00 5A 00 00 2C 00 5B 00 00 55 00 59 F3 00 6D 00
    59 F3 04 8E 00 59 F3 08 8F 00 59 F3 00 00 00 55
    FB 04 00 00 55 FB 00 23 00 55 7F 00 22 00 55 7F
    80 F5 00 58 BF 40 F6 00 58 BF 00 EB 00 55 FE 00
    EA 00 55 FE 01 40 01 54 EF 00 41 01 54 EF 10 ED
    00 54 F7 00 F0 00 54 F7 08 4A 01 53 DF 00 4B 01
    53 DF 20 4C 01 53 7F 00 4D 01 53 7F 80 68 01 56
    BF 00 69 01 56 BF 40 FF FF 00 00 00
    Handle 0xD402, DMI type 212, 152 bytes
    OEM-specific Type
    Header and Data:
    D4 98 02 D4 70 00 71 00 00 10 2D 2E 2D 01 21 FE
    01 2E 01 21 FE 00 97 00 22 FB 00 98 00 22 FB 04
    90 00 11 CF 00 91 00 11 CF 20 92 00 11 CF 10 E2
    00 27 7F 00 E3 00 27 7F 80 E4 00 27 BF 00 E5 00
    27 BF 40 D1 00 22 7F 80 D2 00 22 7F 00 45 01 22
    BF 40 44 01 22 BF 00 36 01 21 F1 06 37 01 21 F1
    02 38 01 21 F1 00 39 01 21 F1 04 2B 01 11 7F 80
    2C 01 11 7F 00 4E 01 65 CF 00 4F 01 65 CF 10 D4
    01 65 F3 00 D5 01 65 F3 04 D2 01 65 FC 00 D3 01
    65 FC 01 FF FF 00 00 00
    Handle 0xD403, DMI type 212, 157 bytes
    OEM-specific Type
    Header and Data:
    D4 9D 03 D4 70 00 71 00 03 40 59 6D 17 01 52 FE
    00 18 01 52 FE 01 19 01 52 FB 00 1A 01 52 FB 04
    1B 01 52 FD 00 1C 01 52 FD 02 1D 01 52 F7 00 1E
    01 52 F7 08 1F 01 52 EF 00 20 01 52 EF 10 21 01
    52 BF 00 22 01 52 BF 40 87 00 59 DF 20 88 00 59
    DF 00 E8 01 66 FD 00 E9 01 66 FD 02 02 02 53 BF
    00 03 02 53 BF 40 04 02 53 EF 00 05 02 53 EF 10
    06 02 66 DF 00 07 02 66 DF 20 08 02 66 EF 00 09
    02 66 EF 10 17 02 66 F7 00 18 02 66 F7 08 44 02
    52 BF 40 45 02 52 BF 00 FF FF 00 00 00
    Handle 0xD800, DMI type 126, 9 bytes
    Inactive
    Handle 0xDD00, DMI type 221, 19 bytes
    OEM-specific Type
    Header and Data:
    DD 13 00 DD 00 01 00 00 00 10 F5 00 00 00 00 00
    00 00 00
    Handle 0xDD01, DMI type 221, 19 bytes
    OEM-specific Type
    Header and Data:
    DD 13 01 DD 00 01 00 00 00 11 F5 00 00 00 00 00
    00 00 00
    Handle 0xDD02, DMI type 221, 19 bytes
    OEM-specific Type
    Header and Data:
    DD 13 02 DD 00 01 00 00 00 12 F5 00 00 00 00 00
    00 00 00
    Handle 0xDE00, DMI type 222, 16 bytes
    OEM-specific Type
    Header and Data:
    DE 10 00 DE C1 0B 00 00 10 05 19 21 01 00 00 01
    Handle 0x7F00, DMI type 127, 4 bytes
    End Of Table
    Hdparm also does not tell me the max data transfer rate (disk speed) of my current drive although this link : www.wdc.com/en/library/sata/2879-001146.pdf  says that it is 3.0Gb/s
    and here's hdparm -I /dev/sda
    /dev/sda:
    ATA device, with non-removable media
    Model Number: WDC WD800JD-75JNC0
    Firmware Revision: 06.01C06
    Standards:
    Supported: 6 5 4
    Likely used: 8
    Configuration:
    Logical max current
    cylinders 16383 16383
    heads 16 16
    sectors/track 63 63
    CHS current addressable sectors: 16514064
    LBA user addressable sectors: 156250000
    Logical/Physical Sector size: 512 bytes
    device size with M = 1024*1024: 76293 MBytes
    device size with M = 1000*1000: 80000 MBytes (80 GB)
    cache/buffer size = 8192 KBytes
    Capabilities:
    LBA, IORDY(can be disabled)
    Standby timer values: spec'd by Standard, with device specific minimum
    R/W multiple sector transfer: Max = 16 Current = 8
    Recommended acoustic management value: 128, current value: 254
    DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
    Cycle time: min=120ns recommended=120ns
    PIO: pio0 pio1 pio2 pio3 pio4
    Cycle time: no flow control=120ns IORDY flow control=120ns
    Commands/features:
    Enabled Supported:
    * SMART feature set
    Security Mode feature set
    * Power Management feature set
    * Write cache
    * Look-ahead
    * Host Protected Area feature set
    * WRITE_BUFFER command
    * READ_BUFFER command
    * DOWNLOAD_MICROCODE
    SET_MAX security extension
    Automatic Acoustic Management feature set
    * Device Configuration Overlay feature set
    * Mandatory FLUSH_CACHE
    * SMART error logging
    * SMART self-test
    * Gen1 signaling speed (1.5Gb/s)
    * Host-initiated interface power management
    * SMART Command Transport (SCT) feature set
    * SCT Long Sector Access (AC1)
    * SCT LBA Segment Access (AC2)
    * SCT Error Recovery Control (AC3)
    * SCT Features Control (AC4)
    * SCT Data Tables (AC5)
    Security:
    Master password revision code = 65534
    supported
    not enabled
    not locked
    frozen
    not expired: security count
    not supported: enhanced erase
    Checksum: correct
    Last edited by Inxsible (2011-03-27 04:40:49)

    I just checked my BIOS and my current setting is set at IDE although it also mentions that the default should be AHCI. Currently I have a dual boot of Windows 7 (need it for Tax software) and Arch
    So I guess, when I get the new HDD, I will first set it to AHCI and then install the OSes on it. See if NCQ helps any, and if not I will turn it back and re-install (if I have to). I am planning to have Windows only in virtualbox in the new drive.
    Anyhoo, while I was in the BIOS I found two things which I had questions about :
    1) Under Onboard Devices --> Integrated NIC , my setting is currently set at "On w/PXE" and it says the default should be just "On". Would it be ok to change it back to On since its a single machine and its not booting an OS on any server. I just don't want to have to re-install anything now since I will be doing that in the new HDD.
    2) How would I know whether my BIOS would support a 64 bit OS in Virtualbox? I checked some setting under Virtualization, but they weren't very clear.
    I will edit this post and let you know exactly what settings were present under the Virtualization sub-section.

  • Problems with Photoshop performance and data transfer speed on iMac

    Two months ago, I started noticing slow performances using Photoshop (above all using clone stamp tool) on my 27" iMac (late 2012). I did the AHT and I found that 8GB of 32GB RAM were broken.
    I removed them but the problem didn't disappered, I also noticed that data transfer speed (both copy and paste from/to internal HD and from CF card/external HD) was really slow.
    I tried many solutions suggested by Apple support, none of them worked out. At the end, I tried uninstalling and re-installing Photoshop: no more problems!!!
    10 days ago, I received a new 8GB RAM module and so I installed it back... suddenly, the problem came back, I tried re-installing again Photoshop but the problem, this time, still persist!
    Does anyone had the same experience? All other CC programs work well (LR, AE, Premiere...)

    yes, it does!
    what seems to be very strange to me is how data trasnfer speed could be affected!
    (just to say, I've already tried reset of SMC and PRAM, I've tried with different accounts and I've also re-installed the OS, next step would be formatting the disk and installing the OS from zero)

  • What is the best way to shut down an iMac that has frozen during a data transfer? The disk I was writing to will not eject. Stopping "copy items to" doesn't work either_ it is frozen as well. Is there a way to force eject the disk so I can shut down?

    Some more information on the above: OS: 7.2
    1. None of the shutdown commands would work so I held the power button down and received a prompt that asked if I wished to force eject the drive, I selected
    the force eject and then shut down.
    2. Just recently I installed an eSATA _ Thunderbolt_ port multiplier compliant PCIe card (Seritek Q6G) into a thunderbolt external chassis (OWC Helios) (seritek Q6G).
    This freeze data transfer also happened when I connected a Firmtek 5PM external tower to the iMac via thunderbolt cable.
    The driver for the seritek Q6G was installed in the iMac previous to connection of any of the devices.
    Both external towers mount ok on the iMac but have frozen during data transfer.
    The initial freeze was with the Firmtek 5PM which is (JBOD)_ I thought that might have had something to do with the freeze_ it being JBOD_ so next I tried the Mercury Elite AL Pro Q2- which is formated in RAID 5. But then froze too.
    Anybody have any experience with this?
    Maybe I need another driver?
    Or maybe some update to my OS?
    Any suggestions welcomed.
    Thank you

    Hello BDAqua, thanx for the suggestions. Before I saw this reply I tried to first quit the finder and then to relaunch the Finder but that resulted was a blank gray screen.
    In the end I ended up having to power down the iMac.
    Fortunately the RAID array that was "active" seems to be fine and also has a firewire 800 connection so I can use it_ just not with thunderbolt until this issue is solved.
    I'm going to check in the Applications>Utilities>system log to see if any clues are evident_ thank you for the suggestion.
    PS: Nothing of note was obvious as a root cause in the Activity Monitor though.
    hmmm....I was told that the Helios and seritek card were compatable and that the Helios didn't require any drivers..it will be a drag if there isn't an easy fix for this since this new PCIe card from seritek is the first to offer port multiplier compatibility for eSATA to thunderbolt...since they are both new I'm hoping that an OS upgrade will be the fix (presently7.2)...we shall see.

  • Tranform templateu00B4s Excel files into *.txt for Data Transfer Workbench

    I have some problems transforming the data files to import since Data Transfer Workbench.
    I haven't the extructure of de Excel templates of SAP BO.
    What is more important: I'm transforming the data with Access consults, and I use Access for convert the Excel to *.txt files. So, somebody could tell me another way to do this?

    Hello,
    You can have the structure of all DTW templates in C:\Program Files\SAP\Data Transfer Workbench\Templates.
    They are in csv format, but I think this is more easy to save them in txt format (with tab), because you will be able to use "," in the numbers easily.
    For more help on how to fill the templates, you can have a look at DI API help (in the SDK folder). You will find the explanation of every column of your templates.
    HTH,
    Thibault

  • Data transfer from sap r/3 into excel sheet for mi01

    hi gurus,
       as i  am a xi consultant i got requirement to write a program for data transfer from sap r/3 into excel sheet for MI01.can any body help me by giving sample code or example for this requirement.please help me.

    Hi Rohit,
    This is an upload program and it has used both function modules to upload from an excel to R3 and to download from R3 onto excel.
    GUI_UPLOAD
    GUI_DOWNLOAD
    are the function modules used.
    Hope this helps,
    *Output:        Downloads error records onto presentation server,
    *               Displays report with number of success and error records
    REPORT ZMCG047CONTR NO STANDARD PAGE HEADING
                                   LINE-SIZE 255
                                   MESSAGE-ID ZM.
    *&       Table declarations
    TABLES : T001W,     "Plants/Branches
             T024E,     "Purchasing Organizations
             T001.      "Company Codes
    *              TYPE-POOLS  DECLARATION
    TYPE-POOLS : SLIS.
    *                       Types  Declaration                            *
    TYPES: BEGIN OF T_RECORD,    "record storing contract info
            LIFNR(010),      "Vendor Number
            EVART(004),      "Agreement Type
            EKORG(004),      "Purchasing Organization
            EKGRP(003),      "Purchasing Group
            WERKS(004),      "Plant
            LGORT(004),      "Storage Location
            KDATB(010),      "Valid start Date
            KDATE(010),      "Valid End Date
            ZTERM(004),      "Payment Terms
            KTWRT(020),      "Target Value
            EPSTP(001),      "Item Category
            EMATN(018),      "Material Number
            KTMNG(017),      "Target Quantity
            NETPR(014),      "Net Price
            PEINH(006),      "Net Price Unit
            BPRME(003),      "Net Price Order Price Unit
            IDNLF(035),      "Vendor Material number
            WEBRE(001),      "GR Based-IV
            MEPRF(001),      "Pricing Date Category
            LTEX1(040),      "Info Text
            DATAB(010),      "Valid From
            DATBI(010),      "Valid To
            KSCHL(004),      "Condition Type
            KBETR(016),      "Condition Rate if scale is not given
            KONWA(005),      "Currency
            KPEIN(005),      "Condition Pricing Unit
            KMEIN(003),      "Condition Unit of Measure
            KSTBM(019),      "Scale
            KBETR_01(016),   "Scale Rate
            DEL_FLAG,        "Delete Flag Indicator
            ERR_MSG(100),    "Error Message
          END OF T_RECORD,
          BEGIN OF T_ERR_RECORD,   "to have error records stored
             LIFNR(010),      "Vendor Number
             EVART(004),      "Agreement Type
             EKORG(004),      "Purchasing Organization
             EKGRP(003),      "Purchasing Group
             WERKS(004),      "Plant
             LGORT(004),      "Storage Location
             KDATB(010),      "Valid start Date
             KDATE(010),      "Valid End Date
             ZTERM(004),      "Payment Terms
             KTWRT(020),      "Target Value
             EPSTP(001),      "Item Category
             EMATN(018),      "Material Number
             KTMNG(017),      "Target Quantity
             NETPR(014),      "Net Price
             PEINH(006),      "Net Price Unit
             BPRME(003),      "Net Price Order Price Unit
             IDNLF(035),      "Vendor Material number
             WEBRE(001),      "GR Based-IV
             MEPRF(001),      "Pricing Date Category
             LTEX1(040),      "Info Text
             DATAB(010),      "Valid From
             DATBI(010),      "Valid To
             KSCHL(004),      "Condition Type
             KBETR(016),      "Condition Rate if scale is not given
             KONWA(005),      "Currency
             KPEIN(005),      "Condition Pricing Unit
             KMEIN(003),      "Condition Unit of Measure
             KSTBM(019),      "Scale
             KBETR_01(016),   "Scale Rate
             DEL_FLAG,        "Delete Flag Indicator
             ERR_MSG(100),    "Error Message
          END OF T_ERR_RECORD,
          BEGIN OF T_LOEKZ,    "To have deletion indicators for materials
              LOEKZ(001),    "Deletion indicator in purchasing document
              EMATN(018),    "Material Number
              WERKS(004),    "Plant
              LGORT(004),    "Storage Location
              BSTYP(001),    "Purchasing document category
          END OF T_LOEKZ,
          BEGIN OF T_MATNR,  " Type definition to store details of materials
               MATNR(018),    "Material Number
          END OF T_MATNR,
          BEGIN OF T_T001,   " Type definition for company codes
              BUKRS(004),    " Company Code
          END OF T_T001,
          BEGIN OF T_ZMVXREF,   "Cross-Reference table type
              D_ALTKN(10),      "Legacy Vendor Number
              D_BUKRS(4),       "Legacy Company Code
              M_ALTKN(10),      "SAP Company Code
          END OF T_ZMVXREF,
          BEGIN OF T_LFA1,    "Master data of vendors
              LIFNR(10),      "Vendor Number
          END OF T_LFA1,
    *  Type Declaration for T024E (Company Codes)
           BEGIN OF T_T024E,
             EKORG   LIKE   T024E-EKORG,     "Purchasing organization
             BUKRS   LIKE   T024E-BUKRS,     "Company Code
           END OF T_T024E,
    *  Type Declaration for t001w (Plant)
           BEGIN OF T_T001W,
             WERKS  LIKE  T001W-WERKS,            "Plant
           END OF T_T001W,
    *  Type Declatation for String Line
           BEGIN OF T_STR1,                                     "#EC NEEDED
             SLINE(6000) TYPE C,
           END OF T_STR1.
    TYPES:  BEGIN OF T_BDCDATA.  "BDC Data
            INCLUDE STRUCTURE BDCDATA.
    TYPES:  END OF T_BDCDATA.
    *       Internal Tables  Declaration                                  *
    DATA:
    *      Internal table to store input file data
           I_RECORD TYPE STANDARD TABLE OF T_RECORD INITIAL SIZE 0,
    *      Internal table to capture errors
           I_ERR_REC TYPE STANDARD TABLE OF T_ERR_RECORD INITIAL SIZE 0,
    *      Internal table to check for deletion indicators
           I_LOEKZ TYPE STANDARD TABLE OF T_LOEKZ INITIAL SIZE 0,
    *      Internal table to check for material numbers
           I_MATNR TYPE STANDARD TABLE OF T_MATNR INITIAL SIZE 0,
    *      Internal table used for storing Cross-Reference data of Vendor
           I_ZMVXREF TYPE STANDARD TABLE OF T_ZMVXREF INITIAL SIZE 0,
    *      Internal table for holding Vendor Numbers from Master table
           I_LFA1 TYPE STANDARD TABLE OF T_LFA1 INITIAL SIZE 0,
    *      Internal table for holding Purchase Org and Company Codes
           I_T024E TYPE STANDARD TABLE OF T_T024E INITIAL SIZE 0,
    *      Internal table for holding Plants
           I_T001W TYPE STANDARD TABLE OF T_T001W INITIAL SIZE 0,
    *      Internal table for storing a list of Company Codes
           I_T001 TYPE STANDARD TABLE OF T_T001 INITIAL SIZE 0,
    *      Internal table used for ALV Reporting
           I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
    *      Internal table used for holding List Header
           I_LISTHEADER TYPE SLIS_T_LISTHEADER,    "EC NEEDED
    *      Internal table to hold ALV Event
           I_ALV_EVENT TYPE SLIS_T_EVENT,
    *      Internal table to hold Sort Info for ALV Report
           I_SORT TYPE SLIS_T_SORTINFO_ALV,
    *      Internal table for BDC Data
           I_BDCDATA TYPE STANDARD TABLE OF T_BDCDATA INITIAL SIZE 0,
    *      Internal table for messages
           I_MESSTAB TYPE TABLE OF BDCMSGCOLL,
    *      Internal table for String line
           I_STR1 TYPE STANDARD TABLE OF T_STR1 INITIAL SIZE 0.
    *       Work Area Declaration                                         *
    DATA:
    *  Work Area to hold data for the Open Contract
          WA_RECORD TYPE T_RECORD,
    *  Work Area to hold previous record data
          WA_RECORDPREV TYPE T_RECORD,
    *  Work Area to hold errors
          WA_ERR_REC TYPE T_ERR_RECORD,
    *  Work Area to hold the Deletion Indicator of materials
          WA_LOEKZ TYPE T_LOEKZ,
    *  Work Area to hold Material numbers of required materials
          WA_MATNR TYPE T_MATNR,      "EC NEEDED
    *  Work Area to hold errors occured while performing BDC
          WA_MESSTAB TYPE BDCMSGCOLL,
    *  Work Area to hold field catalog for ALV Reports
          WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
    *  Work Area to hold list header data for ALV reports
          WA_LISTHEADER TYPE SLIS_LISTHEADER,
    *  Work Area to hold ALV Event
          WA_ALV_EVENT LIKE LINE OF I_ALV_EVENT,  "EC NEEDED
    *  Work Area to hold Layout of ALV Report
          WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
    *  Work Area to hold Cross-Reference data of Vendor
          WA_ZMVXREF TYPE T_ZMVXREF,
    *  Work Area to hold Vendor Numbers from Master table
          WA_LFA1 TYPE T_LFA1,    "EC NEEDED
    *  Work Area to hold Purchase Org and Company Codes
          WA_T024E TYPE T_T024E,
    *  Work Area to hold Company Codes
          WA_T001 TYPE T_T001,
    *  Work Area to hold Plants
          WA_T001W TYPE T_T001W,
    *  Work Area to hold Sort Info for ALV Report
          WA_SORT TYPE SLIS_SORTINFO_ALV,
    *  Work Area to hold BDC Data
          WA_BDCDATA TYPE T_BDCDATA,
    *  Work Area for String line
          WA_STR1 TYPE T_STR1.
    *       Variables  Declaration                                        *
    DATA: V_ERRMSG(500),           "To temporarily store the error message
          V_CONV_DATE(10) TYPE C,  "To capture the converted date format
          V_DATE LIKE SY-DATUM,
          V_REPID LIKE SY-REPID,   "holds report id
          V_CROSS_REFERENCE_ERROR TYPE I,  " cross-reference error
          V_INPUTERROR_FLAG VALUE '',      " input error status
          V_FILENAME TYPE STRING,          " File Name
          VEN_FLAG(1),                       " at new status
          MAT_FLAG(1),                      " at new status
          V_IND(2) TYPE N,                 " index of table control
          V_IND2(2) TYPE N,                " index of table control
          V_IND3(2) TYPE N,                " index of table control
          V_EVRTP1(20),
          V_EPSTP1(20),
          V_EMATN1(20),
          V_KTMNG1(20),
          V_NETPR1(20),
          V_PEINH1(20),
          V_BPRME1(20),
          V_TCSELFLAG1(20),
          V_KSCHL2(20),
          V_KBETR2(20),
          V_KONWA2(20),
          V_KPEIN2(20),
          V_KMEIN2(20),
          V_SELKZ2(20),
          V_KBETR3(20),
          V_KSTBM3(20),
          V_LINE TYPE I,
          V_STR TYPE X VALUE '09',
          V_EXIST TYPE C,
          V_EXIST1 TYPE C,
          V_ISDIR TYPE C,
          V_ISDIR1 TYPE C.
    *       Constants  Declaration                                        *
    CONSTANTS: C_TCODE(5) VALUE 'ME31K', "Trx code - Open Contract Creation
               C_TRUE     VALUE 'X',       " Del_Flag indicator
               C_LOEKZ_MARKED VALUE 'X',   "Deletion indicator for material
               C_INPUTERROR_FLAG_YES VALUE 'X',  "Input File Indicator
               C_VEN_ERR1 VALUE 1,    "Error Indicator
               C_16(2)    VALUE '16',
               C_VEN_ERR2 VALUE 2,    "Error Indicator
               C_VEN_ERR3 VALUE 3,    "Error Indicator
               C_VEN_SUCS VALUE 0,    "Success Indicator
               C_SUCCESS  LIKE SY-SUBRC VALUE '0',
               C_STRUE    VALUE 'S',  "Del_flag for SAP Errors
               C_YTRUE    VALUE 'Y',  "Del_flag for Success Records
               C_MSGTYP_E VALUE 'E',  "holds error message type
               C_MSGTYP_S VALUE 'S',  "holds success message type
               C_BSTYP    VALUE 'K',  "Purchasing Document type is Contract
               C_BACKGROUND VALUE 'N', "Background mode
               C_FOREGROUND VALUE 'A', "All Screen mode
               C_ERRORS   VALUE 'E',   "Error screen mode
               C_WK(2)    VALUE 'WK'. "Value Contract
    *        Selection Screen                                             *
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-033.
    SELECTION-SCREEN SKIP.
    SELECT-OPTIONS:
    *              Plant
                   S_WERKS FOR T001W-WERKS OBLIGATORY,
    *              Purchase Organization
                   S_EKORG FOR T024E-EKORG OBLIGATORY.
    *              Company Code
    PARAMETER      P_BUKRS LIKE T001-BUKRS OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN ULINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN POSITION 3.
    PARAMETER RB_SERVE RADIOBUTTON GROUP RBX DEFAULT 'X' USER-COMMAND U1.
    SELECTION-SCREEN COMMENT 6(19)  TEXT-036.
    SELECTION-SCREEN POSITION 37.
    PARAMETER RB_LOCAL RADIOBUTTON GROUP RBX.
    SELECTION-SCREEN COMMENT 40(13) TEXT-035.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP.
    PARAMETERS:
    *    Parameter holding Input File name
              P_FILE LIKE RLGRAP-FILENAME
                     OBLIGATORY
                     LOWER CASE
                     DEFAULT 'C:\'
                     MODIF ID G1,
              P_FILE1 LIKE RLGRAP-FILENAME
                      OBLIGATORY
                      LOWER CASE
                      DEFAULT '/celestica/interface/corp/in/work/'
                      MODIF ID G2,
    *    Parameter specifying Mode of calling the Transaction.
              P_MODE DEFAULT 'N' OBLIGATORY,
    *    Check box used to test the input file.
              P_TEST AS CHECKBOX DEFAULT 'X',
    *    Parameter holding Filename for holding Input File Errors
              P_IPERR LIKE RLGRAP-FILENAME
                      OBLIGATORY
                      LOWER CASE
                      DEFAULT 'C:\'
                      MODIF ID G1,
              P_IPERR1 LIKE RLGRAP-FILENAME
                     OBLIGATORY
                     LOWER CASE
                     DEFAULT '/celestica/interface/corp/in/work/047_Err.txt'
                     MODIF ID G2.
    SELECTION-SCREEN END OF BLOCK B2.
    *        AT Selection Screen  Events                                  *
    *  Loop the screen to activate relative paths
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF RB_SERVE = C_TRUE AND SCREEN-GROUP1 = 'G1'.
          SCREEN-OUTPUT = 0.
          SCREEN-ACTIVE = 0.
          SCREEN-INPUT = 0.
        ELSEIF RB_LOCAL = C_TRUE AND SCREEN-GROUP1 = 'G2'.
          SCREEN-OUTPUT = 0.
          SCREEN-ACTIVE = 0.
          SCREEN-INPUT = 0.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    AT SELECTION-SCREEN ON BLOCK B2.
    *  Checking Access Authorization for the user
      CALL FUNCTION 'ZU_DATA_ACCESS_AUTH_CHECK'
           EXPORTING
                ACTVT        = C_16
                P_BUKRS      = P_BUKRS
           TABLES
                S_WERKS      = S_WERKS
                S_EKORG      = S_EKORG
           EXCEPTIONS
                BUKRS_FAILED = 1
                VKORG_FAILED = 2
                VTWEG_FAILED = 3
                EKORG_FAILED = 4
                WERKS_FAILED = 5
                LGNUM_FAILED = 6
                OTHERS       = 7.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    AT SELECTION-SCREEN ON P_BUKRS.
      IF NOT P_BUKRS IS INITIAL.
        SELECT SINGLE BUKRS INTO T001
                            FROM T001
                            WHERE BUKRS EQ P_BUKRS.
        IF SY-SUBRC NE 0.
          MESSAGE I000 WITH TEXT-089.
          STOP.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
    * Search Help to select Input File path.
      PERFORM GET_FILE_NAME USING P_FILE.
    * Check for the existence of the file.
      IF RB_LOCAL EQ C_TRUE.
        CALL FUNCTION 'TMP_GUI_GET_FILE_EXIST'
             EXPORTING
                  FNAME          = P_FILE
             IMPORTING
                  EXIST          = V_EXIST
                  ISDIR          = V_ISDIR
             EXCEPTIONS
                  FILEINFO_ERROR = 1
                  OTHERS         = 2.
        IF SY-SUBRC <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        IF V_ISDIR IS INITIAL.
          IF V_EXIST IS INITIAL.
            MESSAGE I000 WITH TEXT-018.
            STOP.
          ENDIF.
        ELSEIF V_ISDIR EQ C_TRUE.
          MESSAGE I000 WITH TEXT-068.
          STOP.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_IPERR.
    * Search Help to select Input Error File path.
      PERFORM GET_FILE_NAME USING P_IPERR.
    AT SELECTION-SCREEN.
    * Validate Transaction Mode
      IF  P_MODE <> C_BACKGROUND AND
          P_MODE <> C_FOREGROUND AND
          P_MODE <> C_ERRORS.
        MESSAGE I000 WITH TEXT-034.
        STOP.
      ENDIF.
    START-OF-SELECTION.
    * Get the Input File Data
      V_FILENAME = P_FILE.
      PERFORM UPLOAD_FLATFILE_DATA TABLES I_RECORD
                                   USING V_FILENAME.
    * Sorting the data by all fields
      SORT I_RECORD.
    * Ensuring the padding of the empty spaces before the vendor No
      CLEAR WA_RECORD.
      LOOP AT I_RECORD INTO WA_RECORD.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
                  INPUT  = WA_RECORD-LIFNR
             IMPORTING
                  OUTPUT = WA_RECORD-LIFNR.
        MODIFY I_RECORD FROM WA_RECORD
                        INDEX SY-TABIX
                        TRANSPORTING LIFNR.
        CLEAR WA_RECORD.
      ENDLOOP.
    * Input file validation
      PERFORM VALIDATE_FLATFILE_DATA.
      IF P_TEST = C_TRUE.
        IF I_ERR_REC[] IS INITIAL.
          MESSAGE I000 WITH TEXT-032.
          STOP.
        ELSE.
    *  Display all the error records at the input level.
          PERFORM DISPLAY_INPERR_RECORDS.
    *  Download Error File
          PERFORM DOWNLOAD_ERROR_FILE.
        ENDIF.
      ELSE.
    * Build BDC Data
        PERFORM BUILD_BDC_DATA.
    * Download Error File
        PERFORM DOWNLOAD_ERROR_FILE.
    * Display the status report.
        PERFORM DISPLAY_PROCESSED_RECORDS.
      ENDIF.
    END-OF-SELECTION.
      REFRESH:  I_RECORD,
                I_ERR_REC,
                I_LOEKZ,
                I_MATNR,
                I_ZMVXREF,
                I_LFA1,
                I_T024E,
                I_FIELDCAT,
                I_LISTHEADER,
                I_ALV_EVENT,
                I_SORT,
                I_BDCDATA,
                I_MESSTAB,
                I_STR1.
      FREE: I_RECORD,
            I_ERR_REC,
            I_LOEKZ,
            I_MATNR,
            I_ZMVXREF,
            I_LFA1,
            I_T024E,
            I_FIELDCAT,
            I_LISTHEADER,
            I_ALV_EVENT,
            I_SORT,
            I_BDCDATA,
            I_MESSTAB,
            I_STR1.
    *&      Form  GET_file_name
    *       Fetches the file and path from the presentation system
    *  -->  p1        Path along with the file name
    FORM GET_FILE_NAME USING L_FILE LIKE RLGRAP-FILENAME.
      CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                MASK             = ',*.TXT,*.txt.'
                MODE             = 'O'
                TITLE            = TEXT-011
           IMPORTING
                FILENAME         = L_FILE
           EXCEPTIONS
                INV_WINSYS       = 1
                NO_BATCH         = 2
                SELECTION_CANCEL = 3
                SELECTION_ERROR  = 4
                OTHERS           = 5.
      CASE SY-SUBRC.
        WHEN 1.
          MESSAGE I000 WITH TEXT-084.
          STOP.
        WHEN 2.
          MESSAGE I000 WITH TEXT-085.
          STOP.
        WHEN 3.
          MESSAGE I000 WITH TEXT-086.
          STOP.
        WHEN 4.
          MESSAGE I000 WITH TEXT-087.
          STOP.
      ENDCASE.
    ENDFORM.                    " GET_file_name
    *&      Form  upload_flatfile_data
    *       Uploading data from Flat File
    FORM UPLOAD_FLATFILE_DATA
                          TABLES I_L_RECORD STRUCTURE WA_RECORD
                          USING L_FILENAME TYPE STRING.
      DATA WA_L_RECORD TYPE T_RECORD.
    * Upload the Flat file data
      IF RB_LOCAL EQ C_TRUE. "File is on the Local System
        CALL FUNCTION 'GUI_UPLOAD'
             EXPORTING
                  FILENAME                = L_FILENAME
                  FILETYPE                = 'ASC'
                  HAS_FIELD_SEPARATOR     = 'X'
             TABLES
                  DATA_TAB                = I_L_RECORD
             EXCEPTIONS
                  FILE_OPEN_ERROR         = 1
                  FILE_READ_ERROR         = 2
                  NO_BATCH                = 3
                  GUI_REFUSE_FILETRANSFER = 4
                  INVALID_TYPE            = 5
                  NO_AUTHORITY            = 6
                  UNKNOWN_ERROR           = 7
                  BAD_DATA_FORMAT         = 8
                  HEADER_NOT_ALLOWED      = 9
                  SEPARATOR_NOT_ALLOWED   = 10
                  HEADER_TOO_LONG         = 11
                  UNKNOWN_DP_ERROR        = 12
                  ACCESS_DENIED           = 13
                  DP_OUT_OF_MEMORY        = 14
                  DISK_FULL               = 15
                  DP_TIMEOUT              = 16
                  OTHERS                  = 17.
        CASE SY-SUBRC.
          WHEN 0.
            DESCRIBE TABLE I_L_RECORD LINES V_LINE.
            IF V_LINE EQ 0.
              MESSAGE I000 WITH TEXT-065.
              STOP.
            ENDIF.
          WHEN 1.
            MESSAGE I000 WITH TEXT-068.
            STOP.
          WHEN 2.
            MESSAGE I000 WITH TEXT-069.
            STOP.
          WHEN 3.
            MESSAGE I000 WITH TEXT-070.
            STOP.
          WHEN 4.
            MESSAGE I000 WITH TEXT-071.
            STOP.
          WHEN 5.
            MESSAGE I000 WITH TEXT-072.
            STOP.
          WHEN 6.
            MESSAGE I000 WITH TEXT-073.
            STOP.
          WHEN 7.
            MESSAGE I000 WITH TEXT-074.
            STOP.
          WHEN 8.
            MESSAGE I000 WITH TEXT-075.
            STOP.
          WHEN 9.
            MESSAGE I000 WITH TEXT-076.
            STOP.
          WHEN 10.
            MESSAGE I000 WITH TEXT-077.
            STOP.
          WHEN 11.
            MESSAGE I000 WITH TEXT-078.
            STOP.
          WHEN 12.
            MESSAGE I000 WITH TEXT-079.
            STOP.
          WHEN 13.
            MESSAGE I000 WITH TEXT-080.
            STOP.
          WHEN 14.
            MESSAGE I000 WITH TEXT-081.
            STOP.
          WHEN 15.
            MESSAGE I000 WITH TEXT-082.
            STOP.
          WHEN 16.
            MESSAGE I000 WITH TEXT-083.
            STOP.
        ENDCASE.
        CLEAR V_LINE.
      ELSEIF RB_SERVE EQ C_TRUE. "File is on the Application Server
        P_MODE = C_BACKGROUND.
        OPEN DATASET P_FILE1 FOR INPUT IN TEXT MODE.
        CHECK SY-SUBRC EQ C_SUCCESS.
        CLEAR WA_STR1.
        DO.
          READ DATASET P_FILE1 INTO WA_STR1.
          IF SY-SUBRC <> 0.      " NE SUCCESS.
            EXIT.
          ELSEIF SY-SUBRC EQ C_SUCCESS.
            APPEND WA_STR1 TO I_STR1.
            CLEAR WA_STR1.
          ENDIF.                  " ENDIF on SY-SUBRC 0 Check.
        ENDDO.                    " ENDDO
        DELETE I_STR1 WHERE SLINE EQ ' '.
        DESCRIBE TABLE I_STR1 LINES V_LINE.
        IF V_LINE EQ 0.
          MESSAGE S000 WITH TEXT-065.
          STOP.
        ENDIF.
        LOOP AT I_STR1 INTO WA_STR1.
          CLEAR: WA_L_RECORD.
          SPLIT WA_STR1-SLINE AT V_STR
          INTO WA_L_RECORD-LIFNR
               WA_L_RECORD-EVART
               WA_L_RECORD-EKORG
               WA_L_RECORD-EKGRP
               WA_L_RECORD-WERKS
               WA_L_RECORD-LGORT
               WA_L_RECORD-KDATB
               WA_L_RECORD-KDATE
               WA_L_RECORD-ZTERM
               WA_L_RECORD-KTWRT
               WA_L_RECORD-EPSTP
               WA_L_RECORD-EMATN
               WA_L_RECORD-KTMNG
               WA_L_RECORD-NETPR
               WA_L_RECORD-PEINH
               WA_L_RECORD-BPRME
               WA_L_RECORD-IDNLF
               WA_L_RECORD-WEBRE
               WA_L_RECORD-MEPRF
               WA_L_RECORD-LTEX1
               WA_L_RECORD-DATAB
               WA_L_RECORD-DATBI
               WA_L_RECORD-KSCHL
               WA_L_RECORD-KBETR
               WA_L_RECORD-KONWA
               WA_L_RECORD-KPEIN
               WA_L_RECORD-KMEIN
               WA_L_RECORD-KSTBM
               WA_L_RECORD-KBETR_01
               WA_L_RECORD-DEL_FLAG
               WA_L_RECORD-ERR_MSG.
          APPEND WA_L_RECORD TO I_L_RECORD.
          CLEAR: WA_L_RECORD,
                  WA_STR1.
        ENDLOOP.
        REFRESH I_STR1.
        CLOSE DATASET P_FILE1.
      ENDIF.
    ENDFORM.
    *&      Form  BDC_DYNPRO
    *       Data populated into i_bdcdata table for program
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR WA_BDCDATA.
      WA_BDCDATA-PROGRAM  = PROGRAM.
      WA_BDCDATA-DYNPRO   = DYNPRO.
      WA_BDCDATA-DYNBEGIN = C_TRUE.
      APPEND WA_BDCDATA TO I_BDCDATA.
    ENDFORM.
    *&      Form  BDC_FIELD
    *       Data populated into i_bdcdata table for fields
    FORM BDC_FIELD USING FNAM FVAL.
      CLEAR WA_BDCDATA.
      WA_BDCDATA-FNAM = FNAM.
      WA_BDCDATA-FVAL = FVAL.
      APPEND WA_BDCDATA TO I_BDCDATA.
    ENDFORM.
    *&      Form  convert_date
    *       Converting the data from the file format to mm/dd/yyyy format
    *      <--P_wa_record_kdatb  Source Date
    *      <--p_l_conv_date      Target Date
    FORM CONVERT_DATE USING L_DATE
                            L_TAR_DATE.
      CONCATENATE L_DATE+0(2)
                  L_DATE+3(2)
                  L_DATE+6(4)
                  INTO L_TAR_DATE.
    ENDFORM.                    " convert_date
    *&      Form  validate_flatfile_data
    *       Validating the input file
    FORM VALIDATE_FLATFILE_DATA.
      DATA: L_TODAY LIKE SY-DATUM,
            L_STARTDATE_C LIKE SY-DATUM,
            L_ENDDATE_C LIKE SY-DATUM,
            L_ENDDATE_C1 LIKE SY-DATUM,
            L_STARTDATE_C1 LIKE SY-DATUM,
            L_STARTDATE(8),
            L_ENDDATE(8).
    * Fetch indicator for all records on the material, plant & storage
    * location combination.
      IF NOT I_RECORD[] IS INITIAL.
        REFRESH I_LOEKZ.
        SELECT EMATN            " Material Number
               WERKS            " Plant
               LGORT            " Storage Location
               BSTYP            " Purchasing Document Category
               LOEKZ            " Deletion indicator
          INTO TABLE I_LOEKZ
          FROM EKPO
          FOR ALL ENTRIES IN I_RECORD
          WHERE EMATN = I_RECORD-EMATN
            AND WERKS = I_RECORD-WERKS
            AND LGORT = I_RECORD-LGORT
            AND BSTYP = C_BSTYP
            AND LOEKZ = C_LOEKZ_MARKED.
        IF SY-SUBRC EQ 0.
          SORT I_LOEKZ BY EMATN WERKS LGORT BSTYP LOEKZ.
        ENDIF.
    * Fetching Plants for all entries in the selection screen
        REFRESH I_T001W.
        SELECT WERKS  "Plant
            INTO TABLE I_T001W
            FROM T001W
            WHERE WERKS IN S_WERKS.
        IF SY-SUBRC EQ 0.
          SORT I_T001W BY WERKS.
        ENDIF.
    * Fetching materials for the plants listed in flat file
        REFRESH I_MATNR.
        SELECT MATNR          " Material Number
          INTO TABLE I_MATNR
          FROM MARC
          FOR ALL ENTRIES IN I_RECORD
          WHERE WERKS = I_RECORD-WERKS.
        IF SY-SUBRC EQ 0.
          SORT I_MATNR BY MATNR.
        ENDIF.
    * Fetching Company Codes for repective Purchase Organizations
        REFRESH I_T024E.
        SELECT EKORG       "  Purchase Organization
               BUKRS       "  Company Code
            INTO TABLE I_T024E
            FROM T024E
            WHERE EKORG IN S_EKORG.
        IF SY-SUBRC EQ 0.
          SORT I_T024E BY EKORG.
        ENDIF.
    * Fetching SAP Data using Legacy Data.
        REFRESH I_ZMVXREF.
        SELECT D_ALTKN
               D_BUKRS
               M_ALTKN
            INTO TABLE I_ZMVXREF
            FROM ZMVXREF
            FOR ALL ENTRIES IN I_RECORD
            WHERE D_ALTKN = I_RECORD-LIFNR.
        IF SY-SUBRC EQ 0.
          SORT I_ZMVXREF BY D_ALTKN D_BUKRS.
        ENDIF.
    * Fetching Vendors from LFA1
        IF NOT I_ZMVXREF[] IS INITIAL.
          REFRESH I_LFA1.
          SELECT LIFNR
             INTO TABLE I_LFA1
             FROM LFA1
             FOR ALL ENTRIES IN I_ZMVXREF
             WHERE LIFNR = I_ZMVXREF-M_ALTKN.
          IF SY-SUBRC EQ 0.
            SORT I_LFA1 BY LIFNR.
          ENDIF.
        ENDIF.
    * Start Validating the flat file
        CLEAR: WA_RECORD,
               WA_T024E,
               WA_ZMVXREF,
               WA_LFA1,
               WA_LOEKZ,
               WA_MATNR.
        LOOP AT I_RECORD INTO WA_RECORD.
          L_TODAY = SY-DATUM.
          L_STARTDATE = WA_RECORD-KDATB.
          L_ENDDATE = WA_RECORD-KDATE.
          IF WA_RECORD-DEL_FLAG IS INITIAL.
            READ TABLE I_T001W INTO WA_T001W
                               WITH KEY WERKS = WA_RECORD-WERKS
                               BINARY SEARCH.
            IF SY-SUBRC EQ 0.
    *   Cross-Reference check performed for the given Vendors
              READ TABLE I_T024E INTO WA_T024E
                                 WITH KEY EKORG = WA_RECORD-EKORG
                                 BINARY SEARCH.
              IF SY-SUBRC NE 0.
                V_CROSS_REFERENCE_ERROR = C_VEN_ERR3.
              ELSE.
                READ TABLE I_ZMVXREF INTO WA_ZMVXREF
                            WITH KEY D_ALTKN = WA_RECORD-LIFNR
                                     D_BUKRS = P_BUKRS
                            BINARY SEARCH.
                IF SY-SUBRC EQ 0.
                  READ TABLE I_LFA1 INTO WA_LFA1
                             WITH KEY LIFNR = WA_ZMVXREF-M_ALTKN
                             BINARY SEARCH.
                  IF SY-SUBRC EQ 0.
                    V_CROSS_REFERENCE_ERROR = C_VEN_SUCS.
                  ELSE.
                    V_CROSS_REFERENCE_ERROR = C_VEN_ERR2.
                  ENDIF.
                ELSE.
                  V_CROSS_REFERENCE_ERROR = C_VEN_ERR1.
                ENDIF.
              ENDIF.
    * Legacy Vendor could not be mapped
              IF V_CROSS_REFERENCE_ERROR EQ C_VEN_ERR1.
            V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES. "Inp.file err. occurd
                WA_RECORD-DEL_FLAG = C_TRUE.
                WA_RECORD-ERR_MSG = TEXT-007.
                MODIFY I_RECORD FROM WA_RECORD
                                TRANSPORTING DEL_FLAG
                                             ERR_MSG
                                WHERE LIFNR = WA_RECORD-LIFNR.
    * Legacy Vendor is mapped but the obtained SAP vendor doesn't exist.
              ELSEIF V_CROSS_REFERENCE_ERROR EQ C_VEN_ERR2.
    *           Inp.file err. occurd
                V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                WA_RECORD-DEL_FLAG = C_TRUE.
                WA_RECORD-ERR_MSG = TEXT-008.
                MODIFY I_RECORD FROM WA_RECORD
                                TRANSPORTING DEL_FLAG
                                             ERR_MSG
                                WHERE LIFNR = WA_RECORD-LIFNR.
    * Purchase Organization doesn't exist in T024E.
              ELSEIF V_CROSS_REFERENCE_ERROR EQ C_VEN_ERR3.
    *             Inp.file err. occurd
                V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                WA_RECORD-DEL_FLAG = C_TRUE.
                WA_RECORD-ERR_MSG = TEXT-014.
                MODIFY I_RECORD FROM WA_RECORD
                                TRANSPORTING DEL_FLAG
                                             ERR_MSG
                                WHERE EKORG = WA_RECORD-EKORG.
    * Vendor is mapped and validated successfully
              ELSEIF V_CROSS_REFERENCE_ERROR EQ C_VEN_SUCS.
    * Checking for the deletion indicator for that record
                CONCATENATE WA_RECORD-KDATB+6(4)
                            WA_RECORD-KDATB+3(2)
                            WA_RECORD-KDATB+0(2)
                            INTO
                            L_STARTDATE.
                MOVE L_STARTDATE TO L_STARTDATE_C.
                CONCATENATE WA_RECORD-KDATB+6(4)
                            WA_RECORD-KDATB+0(2)
                            WA_RECORD-KDATB+3(2)
                            INTO
                            L_STARTDATE_C1.
                CONCATENATE WA_RECORD-KDATE+6(4)
                            WA_RECORD-KDATE+3(2)
                            WA_RECORD-KDATE+0(2)
                            INTO
                            L_ENDDATE.
                MOVE L_ENDDATE TO L_ENDDATE_C.
                CONCATENATE WA_RECORD-KDATE+6(4)
                            WA_RECORD-KDATE+0(2)
                            WA_RECORD-KDATE+3(2)
                            INTO
                            L_ENDDATE_C1.
                READ TABLE I_LOEKZ INTO WA_LOEKZ WITH KEY
                                                 EMATN = WA_RECORD-EMATN
                                                 WERKS = WA_RECORD-WERKS
                                                 LGORT = WA_RECORD-LGORT
                                                 BINARY SEARCH.
                IF SY-SUBRC EQ 0.
    *             Inpfle err.occured
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-003.
                  WA_RECORD-DEL_FLAG = C_TRUE.    "marking the record
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                                ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB
                                    AND KDATE = WA_RECORD-KDATE
                                    AND ZTERM = WA_RECORD-ZTERM
                                    AND KTWRT = WA_RECORD-KTWRT
                                    AND EPSTP = WA_RECORD-EPSTP
                                    AND EMATN = WA_RECORD-EMATN.
    * Validating the Purchasing Organization for Blank/Null
                ELSEIF WA_RECORD-EKORG IS INITIAL.
    *             Inpfle err.occured
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-010.
                  WA_RECORD-DEL_FLAG = C_TRUE.
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                               ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB
                                    AND KDATE = WA_RECORD-KDATE
                                    AND ZTERM = WA_RECORD-ZTERM
                                    AND KTWRT = WA_RECORD-KTWRT
                                    AND EPSTP = WA_RECORD-EPSTP
                                    AND EMATN = WA_RECORD-EMATN.
    * Validating the Plant for Blank/Null
                ELSEIF WA_RECORD-WERKS IS INITIAL.
    *             Inpfle err.occured
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-039.
                  WA_RECORD-DEL_FLAG = C_TRUE.
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                               ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB
                                    AND KDATE = WA_RECORD-KDATE
                                    AND ZTERM = WA_RECORD-ZTERM
                                    AND KTWRT = WA_RECORD-KTWRT
                                    AND EPSTP = WA_RECORD-EPSTP
                                    AND EMATN = WA_RECORD-EMATN.
    * Validating the Contract Validity Start Date
                ELSEIF L_STARTDATE_C1 GT L_TODAY.             "#EC PORTABLE
    *             Inpfle err.occured
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-004.
                  WA_RECORD-DEL_FLAG = C_TRUE.      "marking the record
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                               ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB.
    * Validating the Contract Validity End Date
                ELSEIF L_ENDDATE_C1 LE L_TODAY.               "#EC PORTABLE
    *             Inpfle err.ocrd
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-005.
                  WA_RECORD-DEL_FLAG = C_TRUE.    "marking the record
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                               ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB
                                    AND KDATE = WA_RECORD-KDATE.
    * Checking for Material under the Plant for Agreement Type 'WK'
                ELSEIF WA_RECORD-EVART = C_WK.
                  READ TABLE I_MATNR INTO WA_MATNR
                                     WITH KEY MATNR = WA_RECORD-EMATN
                                     BINARY SEARCH.
                  IF SY-SUBRC NE 0.
                 V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES. "Inpfle err.ocrd
                    WA_RECORD-ERR_MSG = TEXT-006.
                    WA_RECORD-DEL_FLAG = C_TRUE.   "marking the record
                    MODIFY I_RECORD FROM WA_RECORD
                                    TRANSPORTING DEL_FLAG
                                                 ERR_MSG
                                    WHERE LIFNR = WA_RECORD-LIFNR
                                      AND EVART = WA_RECORD-EVART
                                      AND EKORG = WA_RECORD-EKORG
                                      AND EKGRP = WA_RECORD-EKGRP
                                      AND WERKS = WA_RECORD-WERKS
                                      AND LGORT = WA_RECORD-LGORT
                                      AND KDATB = WA_RECORD-KDATB
                                      AND KDATE = WA_RECORD-KDATE
                                      AND ZTERM = WA_RECORD-ZTERM
                                      AND KTWRT = WA_RECORD-KTWRT
                                      AND EPSTP = WA_RECORD-EPSTP
                                      AND EMATN = WA_RECORD-EMATN.
                  ENDIF.
                ENDIF.  " checking of deletion indicator
              ENDIF.   " checking for success of vendor cross reference
            ELSE.
              V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES. "Inpfle err.ocrd
              WA_RECORD-ERR_MSG = TEXT-041.
              WA_RECORD-DEL_FLAG = C_TRUE.   "marking the record
              MODIFY I_RECORD FROM WA_RECORD
                              TRANSPORTING DEL_FLAG
                                           ERR_MSG
                              WHERE WERKS = WA_RECORD-WERKS.
            ENDIF. " Plant checked to selection screen
          ENDIF.  " the records for which del_flag is initial
          CLEAR: WA_RECORD,
                 WA_T024E,
                 WA_ZMVXREF,
                 WA_LFA1,
                 WA_LOEKZ,
                 WA_MATNR,
                 L_TODAY,
                 L_STARTDATE_C,
                 L_ENDDATE_C,
                 L_STARTDATE,
                 L_ENDDATE.
        ENDLOOP.
        LOOP AT I_RECORD INTO WA_RECORD.
          IF WA_RECORD-DEL_FLAG = C_TRUE.
            APPEND WA_RECORD TO I_ERR_REC.
            CLEAR WA_RECORD.
          ENDIF.
        ENDLOOP.
      ELSE.
        MESSAGE E000 WITH TEXT-013.  " no records in the flat file
        STOP.
      ENDIF.
    ENDFORM.                    " validate_flatfile_data
    *&      Form  DOWNLOAD_ERROR_FILE
    *       Downloads all records along with the records encountering the
    *       input file validation error
    FORM DOWNLOAD_ERROR_FILE.
      DATA L_ISDIR TYPE C.
      IF V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
        V_FILENAME = P_IPERR.
    * Check for the existence of the file.
        IF RB_LOCAL EQ C_TRUE.
          CALL FUNCTION 'TMP_GUI_GET_FILE_EXIST'
               EXPORTING
                    FNAME          = P_IPERR
               IMPORTING
                    ISDIR          = L_ISDIR
               EXCEPTIONS
                    FILEINFO_ERROR = 1
                    OTHERS         = 2.
          IF SY-SUBRC <> 0.
            MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          IF L_ISDIR EQ C_TRUE.
            MESSAGE I000 WITH TEXT-088.
            STOP.
          ENDIF.
        ENDIF.
        IF RB_LOCAL EQ C_TRUE.
    * Download the Input Error File.
          CALL FUNCTION 'GUI_DOWNLOAD'
               EXPORTING
                    FILENAME                = V_FILENAME
                    FILETYPE                = 'ASC'
                    WRITE_FIELD_SEPARATOR   = '#'
               TABLES
                    DATA_TAB                = I_ERR_REC
               EXCEPTIONS
                    FILE_WRITE_ERROR        = 1
                    NO_BATCH                = 2
                    GUI_REFUSE_FILETRANSFER = 3
                    INVALID_TYPE            = 4
                    NO_AUTHORITY            = 5
                    UNKNOWN_ERROR           = 6
                    HEADER_NOT_ALLOWED      = 7
                    SEPARATOR_NOT_ALLOWED   = 8
                    FILESIZE_NOT_ALLOWED    = 9
                    HEADER_TOO_LONG         = 10
                    DP_ERROR_CREATE         = 11
                    DP_ERROR_SEND           = 12
                    DP_ERROR_WRITE          = 13
                    UNKNOWN_DP_ERROR        = 14
                    ACCESS_DENIED           = 15
                    DP_OUT_OF_MEMORY        = 16
                    DISK_FULL               = 17
                    DP_TIMEOUT              = 18
                    FILE_NOT_FOUND          = 19
                    DATAPROVIDER_EXCEPTION  = 20
                    CONTROL_FLUSH_ERROR     = 21
                    OTHERS                  = 22.
          IF SY-SUBRC <> 0.
            MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
        ELSEIF RB_SERVE EQ C_TRUE.
          OPEN DATASET P_IPERR1 FOR OUTPUT IN TEXT MODE.
          CHECK SY-SUBRC EQ 0.
          CLEAR WA_ERR_REC.
          LOOP AT I_ERR_REC INTO WA_ERR_REC.
            IF WA_ERR_REC-DEL_FLAG = C_TRUE.
              TRANSFER WA_ERR_REC TO P_IPERR1.
            ENDIF.
            CLEAR WA_ERR_REC.
          ENDLOOP.
          CLOSE DATASET P_IPERR1.
        ENDIF.
      ENDIF.
    ENDFORM.                    " DOWNLOAD_ERROR_FILE
    *&      Form  BUILD_BDC_DATA
    * Populates BDC for all the fields neccessary for Open Contract Creation
    FORM BUILD_BDC_DATA.
      DATA: L_MAT_INDEX TYPE I,
            L_CON_INDEX TYPE I,
            L_SCA_INDEX TYPE I.
      CLEAR   WA_BDCDATA.
      REFRESH: I_BDCDATA,
               I_MESSTAB.
    * Processing the bdc
      CLEAR: WA_RECORD,
             WA_RECORDPREV,
             VEN_FLAG,
             MAT_FLAG.
      LOOP AT I_RECORD INTO WA_RECORD.
    *    Checks for the del_flag of the record.
        IF     WA_RECORD-DEL_FLAG EQ C_TRUE
            OR WA_RECORD-DEL_FLAG EQ C_STRUE.
          CLEAR WA_RECORD.
          CONTINUE.
        ELSE.
          IF  WA_RECORDPREV-LIFNR NE WA_RECORD-LIFNR
           OR WA_RECORDPREV-EVART NE WA_RECORD-EVART
           OR WA_RECORDPREV-EKORG NE WA_RECORD-EKORG
           OR WA_RECORDPREV-EKGRP NE WA_RECORD-EKGRP
           OR WA_RECORDPREV-WERKS NE WA_RECORD-WERKS
           OR WA_RECORDPREV-LGORT NE WA_RECORD-LGORT
           OR WA_RECORDPREV-KDATB NE WA_RECORD-KDATB
           OR WA_RECORDPREV-KDATE NE WA_RECORD-KDATE
           OR WA_RECORDPREV-ZTERM NE WA_RECORD-ZTERM
           OR WA_RECORDPREV-KTWRT NE WA_RECORD-KTWRT.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0200'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'RM06E-LGORT'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '/00'.
    *   Cross-Reference check performed for the given Vendors
            CLEAR WA_T024E.
            READ TABLE I_T024E INTO WA_T024E
                               WITH KEY EKORG = WA_RECORD-EKORG
                               BINARY SEARCH.
            IF SY-SUBRC EQ 0.
              CLEAR WA_ZMVXREF.
              READ TABLE I_ZMVXREF INTO WA_ZMVXREF
                          WITH KEY D_ALTKN = WA_RECORD-LIFNR
                                   D_BUKRS = P_BUKRS
                          BINARY SEARCH.
              IF SY-SUBRC EQ 0.
                PERFORM BDC_FIELD   USING 'EKKO-LIFNR'
                                           WA_ZMVXREF-M_ALTKN.
              ENDIF.
              CLEAR WA_ZMVXREF.
            ENDIF.
            CLEAR WA_T024E.
            PERFORM BDC_FIELD       USING 'RM06E-EVART'
                                          WA_RECORD-EVART.
            PERFORM BDC_FIELD       USING 'EKKO-EKORG'
                                          WA_RECORD-EKORG.
            PERFORM BDC_FIELD       USING 'EKKO-EKGRP'
                                          WA_RECORD-EKGRP.
            PERFORM BDC_FIELD       USING 'RM06E-WERKS'
                                          WA_RECORD-WERKS.
            PERFORM BDC_FIELD       USING 'RM06E-LGORT'
                                          WA_RECORD-LGORT.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0201'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'EKKO-KTWRT'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=AB'.
            PERFORM CONVERT_DATE USING WA_RECORD-KDATB V_CONV_DATE.
            PERFORM BDC_FIELD       USING 'EKKO-KDATB'
                                          V_CONV_DATE.
            PERFORM CONVERT_DATE USING WA_RECORD-KDATE V_CONV_DATE.
            PERFORM BDC_FIELD       USING 'EKKO-KDATE'
                                          V_CONV_DATE.
            PERFORM BDC_FIELD       USING 'EKKO-ZTERM'
                                          WA_RECORD-ZTERM.
            PERFORM BDC_FIELD       USING 'EKKO-KTWRT'
                                            WA_RECORD-KTWRT.
            VEN_FLAG = 1.
            L_MAT_INDEX = 1. "index for table-control of material
          ENDIF.
    *          "first check for itemline
          IF  WA_RECORDPREV-EPSTP NE WA_RECORD-EPSTP
           OR WA_RECORDPREV-EMATN NE WA_RECORD-EMATN
           OR WA_RECORDPREV-KTMNG NE WA_RECORD-KTMNG
           OR WA_RECORDPREV-NETPR NE WA_RECORD-NETPR
           OR WA_RECORDPREV-PEINH NE WA_RECORD-PEINH
           OR WA_RECORDPREV-BPRME NE WA_RECORD-BPRME
           OR WA_RECORDPREV-IDNLF NE WA_RECORD-IDNLF
           OR WA_RECORDPREV-WEBRE NE WA_RECORD-WEBRE
           OR WA_RECORDPREV-MEPRF NE WA_RECORD-MEPRF
           OR WA_RECORDPREV-LTEX1 NE WA_RECORD-LTEX1
           OR VEN_FLAG EQ 1.
            V_IND = L_MAT_INDEX.
            IF V_IND GT 1.
              V_IND = 2.
            ENDIF.
            CONCATENATE 'RM06E-EVRTP(' V_IND ')' INTO V_EVRTP1.
            CONCATENATE 'RM06E-EPSTP(' V_IND ')' INTO V_EPSTP1.
            CONCATENATE 'EKPO-EMATN(' V_IND ')' INTO V_EMATN1.
            CONCATENATE 'EKPO-KTMNG(' V_IND ')' INTO V_KTMNG1.
            CONCATENATE 'EKPO-NETPR(' V_IND ')' INTO V_NETPR1.
            CONCATENATE 'EKPO-PEINH(' V_IND ')' INTO V_PEINH1.
            CONCATENATE 'EKPO-BPRME(' V_IND ')' INTO V_BPRME1.
            CONCATENATE 'RM06E-TCSELFLAG(' V_IND ')' INTO V_TCSELFLAG1.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0220'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=NP'.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0220'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          V_EVRTP1.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=DETA'.
            PERFORM BDC_FIELD       USING V_EPSTP1
                                          WA_RECORD-EPSTP.
            PERFORM BDC_FIELD       USING V_EMATN1
                                          WA_RECORD-EMATN.
            PERFORM BDC_FIELD       USING V_KTMNG1
                                          WA_RECORD-KTMNG.
            PERFORM BDC_FIELD       USING V_NETPR1
                                          WA_RECORD-NETPR.
            PERFORM BDC_FIELD       USING V_PEINH1
                                          WA_RECORD-PEINH.
            PERFORM BDC_FIELD       USING V_BPRME1
                                          WA_RECORD-BPRME.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0211'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'EKPO-WEBRE'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=DETZ'.
            PERFORM BDC_FIELD       USING 'EKPO-IDNLF'
                                          WA_RECORD-IDNLF.
            TRANSLATE WA_RECORD-EVART TO UPPER CASE.
            IF WA_RECORD-EVART EQ C_WK.
              PERFORM BDC_FIELD       USING 'EKPO-WEBRE' 'X'.
            ENDIF.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0212'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'EKPO-MEPRF'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=TXP'.
            PERFORM BDC_FIELD       USING 'EKPO-MEPRF'
                                          WA_RECORD-MEPRF.
            IF NOT WA_RECORD-LTEX1 IS INITIAL. "NE space.
              PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0106'.
              PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                            'RM06E-SELKZ(02)'.
              PERFORM BDC_FIELD 

  • Pre Data Transfer Assistent Crashes

    I guess I'd describe the situation for mac users with Pre's as dire at this point. I have a mobile me account and it's not supported (I guess missing sync will handle that). Right now, I can't even get my numbers over with the data transfer assistant. Hopefully someone can pass this info to the developers:
    Date/Time:      2009-06-11 10:05:55.144 -0700
    OS Version:     10.4.11 (Build 8S165)
    Report Version: 4
    Command: Data Transfer Assistant
    Path:    /Users/gchristo/Desktop/Data Transfer Assistant.app/Contents/MacOS/Data Transfer Assistant
    Parent:  WindowServer [598]
    Version: ??? (1.0)
    PID:    5489
    Thread: 1
    Exception:  EXC_BREAKPOINT (0x0006)
    Code[0]:    0x00000001
    Code[1]:    0x9fcea490
    Thread 0:
    0   libSystem.B.dylib                  0x9000af48 mach_msg_trap + 8
    1   libSystem.B.dylib                  0x9000ae9c mach_msg + 60
    2   com.apple.CoreFoundation           0x902b19ac __CFRunLoopRun + 832
    3   com.apple.CoreFoundation           0x902b12b0 CFRunLoopRunSpecific + 268
    4   com.apple.HIToolbox                0x9f853b20 RunCurrentEventLoopInMode + 264
    5   com.apple.HIToolbox                0x9f8531b4 ReceiveNextEventCommon + 380
    6   com.apple.HIToolbox                0x9f853020 BlockUntilNextEventMatchingListInMode + 96
    7   com.apple.AppKit                   0x9250f734 _DPSNextEvent + 384
    8   com.apple.AppKit                   0x9250f3f8 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116
    9   com.apple.AppKit                   0x9250b93c -[NSApplication run] + 472
    10  com.apple.AppKit                   0x925fc458 NSApplicationMain + 452
    11  ...alm.Data_Transfer_Assistant     0x00002544 _start + 748
    12  ...alm.Data_Transfer_Assistant     0x00002254 start + 48
    Thread 1 Crashed:
    0   com.apple.Foundation               0x9fcea490 _NSRaiseError + 264
    1   com.apple.Foundation               0x9fcea1cc +[NSException raise:format:] + 40
    2   com.apple.Foundation               0x9fdb26a0 mutateError + 172
    3   com.apple.Foundation               0x9fcb6584 -[NSCFString appendString:] + 100
    4   ...alm.Data_Transfer_Assistant     0x00004c70 -[StorageManager appendString:] + 108
    5   ...alm.Data_Transfer_Assistant     0x000048d0 -[CalendarModel transferCalendarObjectsAsICSToStorage:] + 528
    6   ...alm.Data_Transfer_Assistant     0x00004390 -[ViewController transferOnWorkerThread] + 188
    7   com.apple.Foundation               0x9fccf4d8 forkThreadForFunction + 108
    8   libSystem.B.dylib                  0x9002b908 _pthread_body + 96
    Thread 1 crashed with PPC Thread State 64:
      srr0: 0x000000009fcea490 srr1: 0x000000000202f030                        vrsave: 0x0000000000000000
        cr: 0x24000442          xer: 0x0000000000000007   lr: 0x000000009fcea468  ctr: 0x000000009fcac564
        r0: 0x0000000000000000   r1: 0x00000000f0080b00   r2: 0x00000000afca9508   r3: 0x00000000afccfb8c
        r4: 0x0000000090a50ff0   r5: 0x000000009fcabb44   r6: 0x00000000f0080734   r7: 0x00000000000000ff
        r8: 0x00000000f0080720   r9: 0x0000000000494670  r10: 0x0000000090a3f628  r11: 0x0000000024000442
       r12: 0x000000009fcac564  r13: 0x00000000000072d8  r14: 0x0000000000008024  r15: 0x000000000000819c
       r16: 0x00000000000072e8  r17: 0x0000000000000014  r18: 0x000000000000826c  r19: 0x0000000000008190
       r20: 0x0000000000008198  r21: 0x00000000000072c8  r22: 0x000000000000818c  r23: 0x00000000000072f8
       r24: 0x0000000000010000  r25: 0x00000000000072b8  r26: 0x0000000000008188  r27: 0x0000000000499020
       r28: 0x0000000005d1d320  r29: 0x00000000afcb11c8  r30: 0x000000000045da60  r31: 0x000000009fcea398
    Post relates to: Pre p100eww (Sprint)
    Post relates to: Pre p100eww (Sprint)

    Hi,
    You must have an OS 10.5 for the pre to work and the data must be inside ICAL and ADDRESSBOOK... Those are the minimum requirement.
    If you want you data to transfer then try using the cool feature of the phone that is synergy.. Just export and import you ical and addressbook info to you google/gmail account then setup the google on the PRE...
    =)

  • JPA - Best Practice For Data Transfer?

    I've been considering an alternative method for data transfer between applications, by using Serialized or Encoded to File JPA Entities. (either Binary or XML)
    I know this procedure may have several draw backs as compared to traditional exported SQL queries or data manipulation statements, however, I want to know if anyone has considered or used this process for data transfer?
    The process would be to
    - query the database and load the JPA Entities
    - Serialize or Encode them to file
    - zip up the entire folder with the JPA entities
    - transfer the data to destination machine
    - extract the data to a temp directory
    - reload the JPA entities by de-serializing and persisting them to the database
    The reason I'm considering this process, is basically because I have a desktop application (manages member records, names, dates, contributions, etc) used by different organisations in different locations (which are not related except by purpose ie clubs or churches) and would like to have a simple way of transporting all data associated with a single profile (information about a member of the organisation) from one location to another in a simple way, ie users interact only with the application without the need for any database management tool or such.
    I'm also considering this because it is not easy to generate an SQL Script file without using a dedicated Database Management Tool, which I do not want the application users to have to learn how to use.
    I would appreciate ANY suggestions and probable alternative solutions for this problem. FYI: I'm using a Java DB database.
    ICE

    jschell wrote:
    In summary you are moving data from one database to another. True
    You only discussed flow one way. Well the process is meant to be bi-directional. Basically what I envision would to have something like:
    - the user goes to File -> Export Profile...
    - then selects one or more profiles to export
    - the export process completes and the zip archive is created and transfered (copied, mailed, etc) to the destination location
    then on the destination pc
    - the user goes to File -> Import Profile
    - selects the profile package
    - the app extracts, processes and imports the data (JPA serialized for example)
    Flow both ways is significantly more complicated in general.Well if well done it shouldn't be
    And what does this have to do with users creating anything?Well as shown above the user would be generating the Zip Archive (assuming that is the final format)
    Does this make the problem clearer?
    ICE

  • Data transfer with IDoc

    Hi All,
    Can any one please explain me about "Data transfer with IDoc".

    Dear Prasad,
    Using the IDoc option , you will not have a staging in BW like PSA were you can do corrections if required,
    We can use IDOC option when we are very sure that data we are loading is error free,
    and in older versions we are forced to use only IDOC option when doing hierarchy loads and its ruled out now,
    Data transfer with IDoc
    The data is packed into IDocs by the source system and sent to the Business Information Warehouse. In BW your data is saved persistently and intransparently in the IDoc store. From there the IDocs can be updated in the IDocs manually or automatically.
    It is used for hierarchies load Limitations with IDoc is:
    transfer structure must not have more than 1000 Bytes in the character format.
    If it is a critical data we can use IDocs it can't be modified here. In case the load fails we need to load data from source system.
    http://help.sap.com/saphelp_nw04/helpdata/en/7d/724d3caa70ea6fe10000000a114084/frameset.htm
    Hope this helps u..
    Best Regards,
    VVenkat.
    Edited by: Venkata Narayana Jakkampudi on Dec 23, 2008 12:03 PM

  • Error in KEFC transaction - External Data Transfer

    I am getting this error while using external data transfer function using KEFC.
    Plan version is not supported -> check your entry
    Message no. KG 029
    Diagnosis
    Plan version"xx" has not been created in operating concern"xxxx"
    Procedure
    Transfer version"xx" to operating concern"xxxx" and maintain the attributes for that version.
    I have checked plan version settings. It has been created for operating concern as well. I am not sure how to resolve this. Any suggestion or help would be appreciated.

    Hi AP,
      Please check whether you defined a constant value for characteristic VERSI (Version) in the transfer rules for your sender structure. If you don't want to define a constant value there you have to assign a field from your external structure and fill the version in your external file. In this case please consider to fill the field in the following format '1  ' for version 1 (don't use '001').
      Please refer and implement note 576807 in your system if it is in your system . Also refer note  508273 for a possible list of problems in external data transfer.
    Best Regards,
    Abhisek

  • HCM Best Practices version 1.500 (HCM Data Transfer Toolbox)

    Hi,
    Does anyone have the HCM Data Transfer Toolbox (BPHRDTT, HR-DTT, HRDTT)? This seems to be discontinued and been replaced by LSMW which does not provide anything even close to this tool!!!!
    I wish this would have been posted in the Downloads on SDN.
    Thanks
    Check out the following link to see what I mean:
    http://help.sap.com/bp_hcmv1500/HRBP_DTT_V1_500/index.htm
    Edited by: Andreas Mau on Jan 30, 2009 8:42 AM

    Hi Uwe,
    Thanks for giving it a try, but my question is very specific for the reason that SAP has discontinued a perfectly good tool and replaced it with some do-over.
    LSMW - is not always suitable and for large loads the performance is out of wack. You always have to start from scratch creating the stuff.
    PU12 - The interface toolbox is nice but it could offer something more like XML or MHTML formating so you can actually reuse the data without pain. Also for payroll extraction on retro-results for only deltas this is not useful either.
    HR-DTT - Was a tool that had all you really needed and was working just fine. It had everything not just infotypes but also T558B/C/E load although I prefer T558D than T558C. Here SAP is totally lacking support. The 2 BAPIs for BUS1023 do not support all one is only for outsourcing, the other for only B/D tables. In the code the E table update is commented out since they forgot to actually add the corresponding structure for the load as importing parameter...
    SXDA - A rather unknown Data Transfer Workbench which also uses projects to organize the data transfer hooks up onto LSMW as well, but again that is where the tools end. There are no example projects for any area that are of any use. SCM/SRM has some minor examples but nothing that could be called exhaustive.
    The Link: Thanks to SAP support this link has been discontinued so that no-one can ask questions any more on this issue. You may still find the docu on the service marketplace in 50076489.ZIP for HRBP_USA_V1500
    Edited by: Andreas Mau on Apr 23, 2009 10:36 PM
    Edited by: Andreas Mau on Apr 24, 2009 1:39 AM

  • About eCATT and Data Transfer

    Hi,
        I have a confusion.
       Can I consider eCATT as a standard data transfer tool.What may its greater advantage be?
      Thank you

    SAP CATT - Computer Aided Test Tool
    Just sharing my experiences with CATT (although, I have not used this feature in the last 2 years or so !).
    Simply, any one in SAP can use this tool as long as you can access to the tcode. I used CATT atleast in 3 different SAP modules. Typically, in SAP projects, CATT execution is a favorite task for "technical" associates. When the technical resources are either not available immediately or their plate is full with other important tasks, functional associates can simply jump into this activity, since there is no coding or programming involved. This tool has been a great gift from SAP since I am a functional person and could not do coding ! I can remember at least 30 or 40 occassions where I used CATT to get this and that done.
    Below find few examples:
    1. Created multiple sales orders (excess of 200) in a matter of minutes for the purpose of end user training
    2. Created multiple purchase ordes (excess of 200) in a matter of minutes for the purpose of end user training
    3. Created Deliveries for the sales orders in a matter of minutes for the purpose of end user training
    4. Created config. entires, if the volume of records is large. I remember once I entered 900 records.
    5. Extensively used in preparing the transactional data for the purpose of archiving. It worked impeccably.
    6. Loading of master data (example: material groups)
    Note: Upon execution of CATT, it is very possible that some records will fail, which have to be addressed manually. SAP really needs to further enhance this area of CATT because, there is no easy way of identifying the failed ones, it has to be done manually. One workaround is simply download the result into an Excel and using sort feature of Excel, identify the failed ones and deal with them manually.
    With Compliment by: Ranga Rachapudi
    CATT stands 4 Computer Aided Testing Tool
    Although CATT is meant for as a testing tools, many SAP users have now use CATT frequently to upload vendors master data and make changes to other master record.
    SAP Consultant and Abapers tends to used it for creating test data.
    With CATT, you don't have to create any ABAP upload programs and this save on development time. However, you still have to spend time on data mapping into the spreadsheet format.
    The transactions run without user interaction. You can check system messages and test database changes. All tests are logged.
    What CATT does is record you performing the actual transaction once.
    You then identify the fields that you wish to change in that view.
    Then export this data to a spreadsheet to populate with the data required.
    This is uploaded and executed saving you keying in the data manually.
    To perform CATT, it has to be enabled in your production environment (your systems administrator should be able to do this - SCC4).
    You will also need access to your development system to create the CATT script.
    User Guide for Data Upload
    The use of CATT is for bulk uploading of data. Although CATT is primarily a testing tool, it can be used for the mass upload of data. The way CATT works is like a real user actually inputting on the SAP screen. You prepare a set of data that are required to be input into the system and execute what you called a Test Case and CATT will do the boring task of keying for you.
    Over-all procedure
    The over-all procedure to upload data using CATT is as follows:
    · Creation of the CATT test case & recording the sample data input.
    · Download of the source file template.
    · Modification of the source file.
    · Upload of the data from the source file.
    Details of each step are provided in the following paragraphs.
    Detailed Procedure
    Creation of the CATT test case:
    Creation of the test case is completed as follows:
    · Execute Transaction SCAT
    · Name the test case. Test case name must start with “Z”. It is also good practise to include the transaction code in
    the test case name (e.g. Z_IE01_UPLOAD for the upload of equipment)
    · Click the “Record” button.
    · Enter the transaction code (e.g. IE01)
    · Continue recording the transaction. Ensure data is entered into every field that is to be used during the upload.
    · Save the test case.
    Download the source file template
    Download of source file template is conducted in two stages as follows:
    · Creation of import parameters:
    · Within transaction SCAT, Double Click on the TCD line in the “Maintain Functions” screen.
    · Click the Field List button (Field list is displayed).
    · For every field that you wish to upload data, double click in the Column New field contents (This creates an
    import parameter).
    · In the Maintain Import Parameter Pop-Up:
    · Delete the default value if not required.
    · Press Enter
    · The New field contents column now contains the character & followed by the field name (e.g. &EQART). This
    is the name of the import parameter.
    · Repeat this for every field (in every screen) to be uploaded.
    · Back out and save the CATT test case
    · Download of source file template:
    · Use the path GOTO -> Variants -> Export Default
    · Select path and file name (e.g. C:TEMPZ_IE01_UPLOAD.TXT)
    · Click Transfer
    Modify the source file
    The downloaded source file template is now populated with the data that is to be uploaded. This is completed as follows:
    · Using Excel, open the tab-delimited text file.
    · Do not change any of the entries that already exist.
    1st row contains the field names.
    2nd row contains the field descriptions.
    3rd row displays the default values which are set in the test case.
    4th row contains a warning that changing the default values in the spreadsheet has no effect on the actual default values.
    · The data to be uploaded can be entered in the spreadsheet from row 4 onwards (delete the 4th row warning &
    replace with data for upload).
    · Save the file as a Text file (Tab delimited).
    Upload data from the source file
    Uploading the data is completed as follows:
    · Execute the CATT test case
    · In the Execute screen:
    · Set processing mode to Errors or Background (your choice).
    · Set variants to External from file.
    · Click the Choose button and select the file to be uploaded.
    · If uploading to another client, click the Remote execution button and select the RFC connection to the required client.
    · If uploading to the current client, click the execute button.
    Also, refer the links....
    http://www.sap-img.com/sap-catt.htm
    http://sap.ittoolbox.com/documents/popular-q-and-a/catt-procedure-1795
    http://www.thespot4sap.com/Articles/CATT.asp
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCATTOL/BCCATTOL.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCATTOL/CACATTOL.pdf
    Reward Points if this helps,

  • Data transfer usnig dxwb

    Hello All,
    Can anybody explain data transfer using DXWB clearly(if possible screen shots).
    In general Which tool was used either LSMW or DXWB.
    thanks and Regards
    madhavi

    hi madhvi,
    Before using the LSM Workbench or DX Workbench, you need a concept for data migration.
    <b> Recommendation</b>
    •For batch input / direct input: use the test functionality in DX-Workbench and run the whole import process from LSMW
    •For BAPI / IDoc: use DX-workbench and do mapping and conversion via an LSMW object – LSMW can be called from DX-workbench as a task (from 4.6C on)
    <b>Core functions of the LSM Workbench:</b>
    1.Import data from a legacy system
    2.Converting data from its original (legacy system) format to the target (SAP) format
    3.Importing the data using the standard interfaces of SAP (IDoc inbound processing, batch input, direct input)
    <b>Core functions of the DX Workbench:</b>
    1.Data import
    2.Monitoring for data import
    3.Create and edit test data
    4.Restart functionality
    thnx.
    Ashraf.

  • Need to learn data transfer

    hi to abapers,
                        need to learn learn data transfer bdc,bi,ct,lsmw .plz send me links.or send it to my mail [email protected]  material will be rewarded

    Hi,
        BDC:
    Batch Data Communication (BDC) is the process of transferring data from one SAP System to another SAP system or from a non-SAP system to SAP System.
    Features :
    BDC is an automatic procedure.
    This method is used to transfer large amount of data that is available in electronic medium.
    BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).
    BDC uses normal transaction codes to transfer data.
    Types of BDC :
    CLASSICAL BATCH INPUT (Session Method)
    CALL TRANSACTION
    BATCH INPUT METHOD:
    This method is also called as ‘CLASSICAL METHOD’.
    Features:
    Asynchronous processing.
    Synchronous Processing in database update.
    Transfer data for more than one transaction.
    Batch input processing log will be generated.
    During processing, no transaction is started until the previous transaction has been written to the database.
    CALL TRANSACTION METHOD :
    This is another method to transfer data from the legacy system.
    Features:
    Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
    Updating the database can be either synchronous or asynchronous. The program specifies the update type.
    Transfer data for a single transaction.
    Transfers data for a sequence of dialog screens.
    No batch input processing log is generated.
    For BDC:
    http://myweb.dal.ca/hchinni/sap/bdc_home.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://www.sapdevelopment.co.uk/bdc/bdchome.htm
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
    http://www.sap-img.com/abap/learning-bdc-
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
    LSMW
    Please check this link and you can download LSMW Workbench documents.
    http://www.erpgenie.com/sap/saptech/lsmw.htm
    Go thro these steps..
    Using Tcode MM01 -- Maintain the source fields are
    1) mara-amtnr char(18)
    2) mara-mbrsh char(1)
    3) mara-mtart char(4)
    4) makt-maktx char(40)
    5) mara-meins char(3)
    the flate file format is like this as follows
    MAT991,C,COUP,Srinivas material01,Kg
    MAT992,C,COUP,Srinivas material02,Kg
    AMT993,C,COUP,Srinivas material03,Kg
    MAT994,C,COUP,Srinivas material04,Kg
    MAT995,C,COUP,Srinivas material05,Kg
    goto Tcode LSMW
    give Project Name
    Subproject Name
    object Name
    Press Enter -
    Press Execute Button
    It gives 13 radio-Button Options
    do the following 13 steps as follows
    1) select radio-Button 1 and execute
    Maintain Object Attributes
    select Standard Batch/Direct Input
    give Object -- 0020
    Method -- 0000
    save & Come Back
    2) select radio-Button 2 and execute
    Maintain Source Structures
    select the source structure and got to click on create button
    give source structure name & Description
    save & Come Back
    3) select radio-Button 3 and execute
    Maintain Source Fields
    select the source structure and click on create button
    give
    first field
    field name matnr
    Field Label material Number
    Field Length 18
    Field Type C
    Second field
    field name mbrsh
    Field Label Industrial Sector
    Field Length 1
    Field Type C
    Third field
    field name mtart
    Field Label material type
    Field Length 4
    Field Type C
    fourth field
    field name maktx
    Field Label material description
    Field Length 40
    Field Type C
    fifth field
    field name meins
    Field Label base unit of measurement
    Field Length 3
    Field Type C
    save & come back
    4) select radio-Button 4 and execute
    Maintain Structure Relations
    go to blue lines
    select first blue line and click on create relationship button
    select Second blue line and click on create relationship button
    select Third blue line and click on create relationship button
    save & come back
    5) select radio-Button 5 and execute
    Maintain Field Mapping and Conversion Rules
    Select the Tcode and click on Rule button there you will select constant
    and press continue button
    give Transaction Code : MM01 and press Enter
    after that
    1) select MATNR field click on Source filed(this is the field mapping) select MATNR and press Enter
    2) select MBRSH field click on Source filed(this is the field mapping) select MBRSH and press Enter
    3) select MTART field click on Source filed(this is the field mapping) select MTART and press Enter
    4) select MAKTX field click on Source filed(this is the field mapping) select MAKTX and press Enter
    5) select MEINS field click on Source filed(this is the field mapping) select MEINS and press Enter
    finally
    save & come back
    6) select radio-Button 6 and execute
    Maintain Fixed Values, Translations, User-Defined Routines
    Create FIXED VALUE Name & Description as MM01
    Create Translations Name & Description as MM01
    Create User-Defined Routines Name & Description as MM01
    after that delete all the above three just created in the 6th step
    FIXED VALUE --MM01
    Translations --MM01
    User-Defined Routines --MM01
    come back
    7) select radio-Button 7 and execute
    Specify Files
    select On the PC (Frontend) -- and click on Create button(f5)
    give the path of the file like "c:material_data.txt"
    description : -
    separators as select comma radiao- button
    and press enter save & come back
    8) select radio-Button 8 and execute
    Assign Files
    Save & come back
    9) select radio-Button 9 and execute
    Read Files
    Execute
    come back
    come back
    10) select radio-Button 10 and execute
    Display Imported Data
    Execute and press enter
    come back
    Come back
    11) select radio-Button 11 and execute
    Convert Data
    Execute
    come back
    Come back
    12) select radio-Button 12 and execute
    Display Converted Data
    Execute & come back
    13) select radio-Button 13 and execute
    Start Direct Input Program
    --select the Program
    --select continue button
    --go with via physical file
    --give the lock mode as 'E'
    and execute
    Refer these links,
    LSMW
    http://www.sapgenie.com/saptech/lsmw.htm
    http://service.sap.com/lsmw
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/LSMW_tutorial.html
    http://www.scmexpertonline.com/downloads/SCM_LSMW_StepsOnWeb.doc
    Regards

Maybe you are looking for