Code Monkey home page Code Monkey logo

abaptoc's Introduction

abapToC

ABAP Transport of Copies

Features

  1. New Transaction ZTOC which allows for easy creation/release/import of Transport of Copies

obraz report

  1. Create, release and import Transport of Copies with one click:

obraz

Installation

  1. Use abapGit https://github.com/abapGit/abapGit
  2. In order for import to work, you must:
    1. Import/Transport project to target system
    2. Create connection for target system in SM59 - for each possible target in transport (e.g. 'SYSTEM', 'SYSTEM.MANDANT' ) create connection with exact same name - will be used to call RFC which unpacks transport. So ZZZ.999 for system ZZZ and mandant 999, or just ZZZ if you don't specify mandant in transports.
    3. [Optional] Set developer system as trusted (via transaction SMT1) at target system. Set Trust Relationship to yes in connections and use Current User. This way you won't have to log into target system everytime you wan't to import transport - you will be automatically logged with current user.

Notes

  1. Written in ABAP 7.50

Changelog

  • v1.1 - allow user to choose between 3 types of descriptions - ToC + original request number, original request description, or custom / numbered description
  • v1.2 - allow user mass action on all selected ToCs
  • v1.2.1 - add STMS button
  • v1.3 - retry importing ToC for a specified amount of time if not yet visible in target system (apparently, release funciton isn't fully synchronous?)

abaptoc's People

Contributors

kaszub09 avatar

Stargazers

 avatar HuprichTo avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

abaptoc's Issues

Make everything asynchronous

One of the main features of this program was that interaction required from the user is minimal - mainly, you just click one button and everything happens automatically, both transport creation/release/import, as well as refreshing table with information about success or failure. Meaning, you don't have to constantly mash "refresh" button to get information whether toc is yet imported or not.

With that in mind, and the fact that the whole process blocks UI, as well as that it's not entirely synchronous, and toc import can be called before it's fully released, I thought about making it asynchronous - but dropped the idea because of some problems.

First idea was to use cl_gui_timer to run background checks every few seconds and refresh GUI accordingly - unfortunately, this class is not reliable since if the GUI is blocked at the moment of call, it's not executed, and isn't even scheduled for the next call. This problem is known and won't be fixed by SAP: https://me.sap.com/notes/2679117.

Another was to use function modules with starting new task, but the problem there is that you can't refresh screen in callback module, e.g. via alv_table->refresh( ) (I'm guessing it's because callback is called in another thread or something?), thus requiring additional input from user. And I don't think wrapping everything in function modules and callbacks would improve code readability. :P

So for now I just added option to retry import for some time in case you have ToCs which aren't visible immediately. If somebody have an alternative solution I would be happy to hear it. :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.